Натан Йелин (Natan Yellin) из robusta.dev опросил участников Kubernetes-сообщества на Reddit, что больше всего их раздражает в Kubernetes. Тред собрал более 90 ответов и комментариев. Как выяснилось, CrashLoopBackOff
— далеко не самый раздражающий фактор. Куда больше пользователям не нравится, например, сложность Kubernetes и необходимость его изучать.
Ниже — самые возмутительные особенности K8s по мнению пользователей Reddit и разработчиков «Фланта».
Топ-10 раздражителей
1. «Некоторые поля у вновь созданных ресурсов неизменны. И нет простого способа понять, какие именно». (+113 на момент этой публикации.)
2. «Никто не знает, что с ним [Kubernetes] не так [когда возникает какая-то проблема], и разработчики не хотят изучать его». (+71)
3. «Вы не можете использовать kubectl
, просто чтобы перечислить ВСЕ ресурсы (независимо от типа) в пространстве имен. Если пространство имен “зависнет” при удалении, никто не скажет вам, ПОЧЕМУ». (+36)
В треде к этому вопросу предлагают варианты решения проблемы.
4. «Количество связанных [с K8s] проектов и их безумные (“crazy”) названия, в которых очень мало смысла». (+28)
«You mean Krazy naming?» — уточняет FiringSquad1080
.
5. «На автомате использую команду kubectl get logs
вместо правильной kubectl logs
:/». (+22)
«Эта проблема должна быть на первом месте», — ответил автор треда.
6. «Бесконечная экосистема абстракции инструментов. Как только у вас есть что-то, что работает, появляются другие инструменты, которые делают почти то же самое, но, возможно, чуть больше». (+20)
7. «Набирать “Kubernetes” в телефоне». (+16)
8. «Для многих вещей нет разумных значений по умолчанию, и их невозможно добавить автоматически. Хотите, чтобы у всех созданных пространств имен был базовый PodSecurity по умолчанию? Admission controller! Хотите, чтобы у всех ролей были разумные разрешения по умолчанию? Admission controller! Хотите, чтобы у всех пространств имен была настроена NetworkPolicy по умолчанию? Механизм политик! Бррр».
9. «Всё с kubectl config
. Приходится использовать сторонний инструмент kubectx». (+14)
Про kubectx мы рассказывали 4+ года назад, а про утилиту fubectl, упомянутую в комментариях к этому пункту, — в прошлом году.
10. «Замена аргумента get
на describe
». (+11)
А легендарный CrashLoopBackOff сдает позиции: в топе его не оказалось…
Что не нравится нашим инженерам
Вот что больше всего раздражает команду разработки Kubernetes-платформы Deckhouse.
Евгений Шевченко:
«Когда у тебя есть несколько логически связанных штук, приходится делать по несколько запросов, чтобы связать вместе информацию из разных углов.
Например, чтобы посмотреть IP узла, на котором находится конкретный Pod, требуется два действия: посмотреть в Pod, чтобы увидеть имя узла, а потом — в узел, чтобы увидеть его адрес. Но бывают цепочки и длиннее. Например, с cert-manager’ом.
Вот если бы kubectl умел делать
join
… Oh shi-, у меня есть идея для Open Source-проекта».
Андрей Квапил:
«Есть различные недокументированные особенности. Например, podSpec в большинстве случаев иммутабельна (неизменна), но обновить
image
у запущенного Pod’а всё же можно. А в именовании Docker-образов типаregistry.io/image:tag@sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
нет никакого смысла, потому что тег при указании дайджеста всегда игнорируется. Но не сказать, что это меня сильно бесит».
Максим Набоких:
«Бесят:
1. fejta-bot, который проверяет "свежесть" issues;
А что больше всего бесит в Kubernetes вас?
Делитесь накипевшим в опросе и комментариях!
P.S.
Читайте также в нашем блоге: