Pull to refresh

Comments 11

Очередной хороший разбор helm. Спасибо. Попахивает К.О., ну, да ладно.

А вообще — очень ждем helm v3, который должен уже быть «тортом»

Еще очень хочется увидеть альтернативы. Хоть ansible'ом организуй жизненный цикл сервисов в кубе.
Хоть ansible'ом организуй жизненный цикл сервисов в кубе.

Вы не поверите :-)


Я вот смотрю на ansible+kasane как на движок для выкатки нетривиальных приложений где надо сделать несколько шагов.


---
- kubefetch: namespace=kube-system kind=secret name=stash-apiserver-cert
- kubefetch: namespace=kube-public kind=configmap name=cluster-info

- when: not k8s_kube_system_secret_stash_apiserver_cert.exists
  block:
  - pkiv2:
      kind: ca
      common_name: Stash CA
    register: stash_ca
    no_log: true

  - pkiv2:
      kind: leaf
      common_name: stash-operator.kube-system.svc
      usage: serverAuth
      ca_key: "{{stash_ca.key}}"
      ca_cert: "{{stash_ca.cert}}"
    register: stash_server_cert
    no_log: true

- kasanev2:
    path: '{{playbook_dir}}/kapps/{{KUBEAPP}}'
    env:
      STASH_NAMESPACE: kube-system
      STASH_SERVICE_ACCOUNT: stash-operator
      STASH_DOCKER_REGISTRY: appscode
      STASH_IMAGE_PULL_SECRET: ''
      STASH_IMAGE_TAG: {{STASH_VERSION}}
      STASH_IMAGE_PULL_POLICY: IfNotPresent
      STASH_ENABLE_ANALYTICS: 'false'
      STASH_ENABLE_RBAC: 'true'
на самом деле, когда я говорил про ansible, я не шутил.
И более того — у меня есть ощущение, что RedHat его и будет рекомендовать для обеспечения lifecycle приложения в их платформе OpenShift.

Но вообще, конечно, у меня душа больше к salt лежит, если говорить про CM/оркестрацию.
Ksonnet — отличная альтернатива. Он и helm-чарты умеет и tiller ему не нужен.

Когда только начинаешь k8s и натыкаешься на helm — он очень подкупает. И шаблонизация тебе, и релизы, и хуки/роллбэки. Но потом эйфория сталкивается с повседневными задачами и да, начинается описанная Вами боль. Но, приходится признать, для дистрибьюции чартов как продукт, или как первый тулсет, на котором пробовать k8s — он хорош.

ну, т.е. это по сути аналог docker-compose — быстро что-то попробовать, оценить пригодность к эксплуатации, а потом уже серьезно внедрять с lifecycle management
Helm идеально подходит для установки чего-то полезного из charts/stable. Мы у себя его также используем для первоначального деплоя наших приложений в новый проект. Как тулза для lifecycle management он, конечно, не подходит…

В конце концов хелм хорош как шаблонизатор + репозиторий (полу)готовых чартов.
Все остальное решается helm template . | kubectl apply -f - и CI/CD.

шаблонизатор можно взять любой другой. jinja2, gomplate… Есть еще kustomize ( kubernetes.io/blog/2018/05/29/introducing-kustomize-template-free-configuration-customization-for-kubernetes ), который в ТЕОРИИ можно использовать для темплейтинга любых yaml…
Сравнение kapitan vs helm vs kustomize можно посмотреть здесь: medium.com/@splisson/helm-vs-kapitan-vs-kustomize-1c14018faecc

конечно, не спорю.
Просто хелм — это сообщество и репозиторий чартов, что иногда освобождает от велосипедостроения.
Это как с контейнерами — можно разные рантаймы юзать, но докер популярен из-за репозитория открытых образов.

Проблема в том, что большинство докер-образов, которые доступны — это хлам.
Официальные — да, преимущественно годные.
Все это может быть отличным примером, стартовой точкой. Но в масштабах энтепрайза все равно приходится готовить свои Dockerfile и образы. То же — с хельмами.
Раньше та же история была со своими репозиториями deb/yum.
Sign up to leave a comment.