TGViewer
ДевОпс Інженер 🇺🇦 ДевОпс Інженер 🇺🇦 @devopsengineer · 4.96K subscribers
Post #340 8.48K
Deploy a Google-managed certificate with DNS authorization

На вихідних вирішив покрутити трохи GCP, бо давно не мав з ним справ, та і загалом T-shaped дуже добре будувати. Знайшов старий pet-project, і там заекспейрились SSL сертифікати, які б мали реньюватись Certificate Manager-ом, але щось пішло не так.

Знайшов фічу, якій не так багато часу DNS Auth для GCP Certificate Manager:
https://cloud.google.com/certificate-manager/docs/deploy-google-managed-dns-auth#terraform

Виглядає класно, підтикуємо кастомний домен звідки-завгодно, далі CNAME туди ж, з цим рекордом явно нічого не станеться + ще і wildcard можна прикрутити.

Власне, додалось легко, підтвердився овнершип домену швидко, тим паче вайлдкардовий, тільки сам сертифікат потрапив не в Classic Certificates, а в просто Certificates. Ну, думаю, це ж GCP, ладно вже.

Далі дока змусила мене створити certmap і map entry, ізі, і на цьому етапі виявилось що в мене немає кнопки "підтикнути його" в Load Balancer (це взагалі окрема тема, як виходить, в GCP зовсім не канонічні балансери, а набір ресурсів, які роблять щось схоже).

І тут виходить проблема, бо я наче молодець, сертифікат є, а підсунути його в балансер не можу. Покопав погуглив, знайшов що в ресурс google_compute_target_https_proxy передається параметр certificate_map, і має бути ок. Передав, еплайнулось.

І тут новий прикол: бачу, що юзається вже новий стек з domain + dns auth + wildcard cert + certmap + entry. Але, GCP мені в консолі показує чудовий приатачений старий сертифікат, і тільки в сетінгах самого target proxy типу так дуже обережно показує, що там ще є і Certificate Map. Чому так? Загадка.

Далі наступна штука: gce-ingress, який по суті і створював цей LB (точніше, як ми зрозуміли, набір ресурсів, який - є "типу" LB), ролбекнув certmap і залишив старий невалідний сертифікат. Топ.

Зрозуміло, що я пішов дивитись як засунути brand-new bundle в gce-ingress, а там така халепа:
https://github.com/kubernetes/ingress-gce/issues/1692

Тобто, ви НЕ можете передати через анотації, вельюси, вотевер certificate map в gce-ingress.

Ну і самарі, до чого ми прийшли:
➕ GCP зробив круту фічу, яка допоможе згенерити вайлдкардовий сертифікат, підтвердити овнершип домену через CNAME, і не паритись з рефрешем (всі http-based рефреші в мене рано чи пізно відвалювались)
➕ GCP зробив чудовий gce-ingress, який розуміє кастомну реалізацію LB в GCP, і збирає сетап всіх ресурсів в купу, на виході - робочий варіант
➖GCP не підтримує свою фічу 1 в своєму рішенні 2

А в іншому, GCP це мабуть класний клауд 😆
Google Cloud Documentation Deploy a global Google-managed certificate with DNS authorization | Certificate Manager | Google Cloud Documentation
  • 🔥 14
  • 👍 10
  • 🤣 8
  • ❤ 1
  • 👏 1
More from @devopsengineer
  1. Jul 29, 2026Ще кілька років тому шлях у DevOps був більш-менш зрозумілим. Проте сьогодні AI бере на се…
  2. Jun 11, 2026AI-first SDLC, Agentic Engineering, Agents, IDEs, Claude Code, Cursor, GitHub Copilot, Ope…
  3. Jun 9, 2026Шановне панство, Звертаю вашу увагу: якщо ви вже награлися з AGENTS.md / CLAUDE.md, self-h…
  4. May 28, 2026Linux kernel, namespaces, cgroups, LXC, Docker, multi-stage builds, distroless images, con…
  5. Mar 9, 2026На fwdays було багато цікавих доповідей, але особливо хочу зазначити доповідь Володимира Ц…
  6. Feb 2, 2026AWS Certified Generative AI Developer - Professional Доброго дня, Десь пролітало по сусідн…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →