Вот теперь поехали: итоги DevOps Challenge в честь Дня Космонавтики

4ec6c62193a375612b6150ccbfb72fc1.png

Привет! На связи снова Саша Хренников, руководитель DevOps-юнита в KTS.

На прошлой неделе мы запустили испытание для DevOps-инженеров, приуроченное к дате первого полета человека в космос. Участникам было необходимо найти и исправить ошибку в конфигурации ArgoCD, чтобы обеспечить корректный запуск приложения. Как мы и обещали, 10 победителей испытания получат наш фирменный мерч, но перед тем, как огласить их список, я предлагаю познакомиться с решением.

Spoiler alert: мы оставляем доступ к этому испытанию (и ко всем предыдущим) открытым, чтобы вы могли потренироваться перед будущими челленджами. Если вы еще не пытались решить его, не торопитесь читать разгадку — лучше попробуйте найти ее самостоятельно. Сделать это вы можете в нашем боте.

Для тех же, кому не терпится узнать ответ, продолжаем.

  • Решение

  • Победители

Решение

В первую очередь посмотрим в ArgoCD. Для этого найдем адрес его интерфейса в svc и откроем в браузере.

2f90182596cdef9d79f433687741ea39.png

В интерфейсе видим единственное приложение, которое встречает нас интересной ошибкой:

aedb7d5ac795e3647d62be4bf841ed31.png

Заглянем в манифест:

0fc6bed5858cf2ff22d591e7590d78e0.png

Похоже, что в манифесте пропущен дефолтный адрес сервера server: "https://kubernetes.default.svc". Даже если мы попробуем его добавить, то сохранения не произойдет, и через некоторое время мы увидим новую ошибку:

02d428e959372b471b0993b61b3f23fb.png

Судя по всему, ArgoCD не может достучаться до репозитория. Проверим доступность адреса. ssh доступен, похоже, что возникла какая-то проблема со связностью у самого сервиса.

c1325ac535d8796c783e630b62c57dc3.png

Заглянем в список NetworkPolicy. Похоже, что repo-server может обращаться только к локальной сети из-за добавленного Egress-правила:

9334bb39cc825011cbba49885e0d3f98.png

Для исправления ситуации удалим проблемную NetworkPolicy:

8bca9d2f9cc19b0187c217cfd1888e1f.png

Теперь вернемся в интерфейс ArgoCD и восстановим нарушенный манифест:

c61c946117dbd5ccca12c4c0d6c9196f.png

Остается только запустить синхронизацию заново и проследить за тем, что приложение запустилось:

f7cfe104c45073b99f2cee292241b5dc.png

Победители

А теперь самое приятное — церемония награждения. Вот список участников, которые справились с испытанием быстрее всех остальных:

Место

Имя пользователя

Время

1

Виталий aka @anoshkinvv

9 мин 1 сек

2

BesCo aka @eBesCo

9 мин 4 сек

3

Andrey Koregin aka @Joyjey

14 мин 25 сек

4

Свят aka @soklomentorat

17 мин 2 сек

5

Skyxer aka @skyxer

17 мин 17 сек

6

Danye Kash aka @danyekash

21 мин 45 сек

7

Mike aka @freelook

21 мин 59 сек

8

Kiiiiiira aka @kiiiiiirra

24 мин 3 сек

9

I Fatkullin aka @fatkulllin

27 мин 27 сек

10

Anton Donskoy aka @a_donskoy

28 мин 12 сек

Поздравляем с победой! Фирменные футболки KTS отправятся по почте к своим новым владельцам, а остальных участников челленджа и тех, кто в этот раз не смог проверить свои силы, мы призываем не расстраиваться и ждать новых испытаний.

Чтобы подготовиться, вы можете почитать описания наших архивных челленджей:

  1. DevOps-челлендж: решите задачку и выиграйте крутой мерч

  2. Назад в прошлое: запускаем k8s v. 0.1 из 2014 и анонсируем челлендж

  3. DevOps Challenge: восстановите работу MySQL и выиграйте крутой мерч

  4. DevOps Challenge: помогите Деду Морозу с оповещениями и получите новогодний мерч

А еще лучше — попробуйте пройти их, все предыдущие задания доступны в боте по ссылке https://t.me/kuberchallengebot? start=habr.

Удачи!

Habrahabr.ru прочитано 8763 раза