User Tools

Site Tools


универсальный_helm-чарт

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
универсальный_helm-чарт [2026/01/25 08:49]
val [Шаг 3. Последовательно изучаем синтаксис Helm, решая возникающие задачи]
универсальный_helm-чарт [2026/01/30 12:44] (current)
val
Line 23: Line 23:
 ===== Запись вебинара ===== ===== Запись вебинара =====
  
 +  * Ютуб: [[https://​youtu.be/​8BbRGP2t7_Q]]
 +  * Рутуб: [[https://​rutube.ru/​video/​private/​963e0e91656ec459a4377456b350bd8c/​]]
 +  * Вк: [[https://​vkvideo.ru/​video-2190892_456239497]]
   * Тэги: Kubernetes, Helm, ArgoCD   * Тэги: Kubernetes, Helm, ArgoCD
  
Line 61: Line 64:
   * Подстановка переменных в .Values в шаблон (image.repository,​ image.tag, replicaCount),​ замена gowebd на httpd   * Подстановка переменных в .Values в шаблон (image.repository,​ image.tag, replicaCount),​ замена gowebd на httpd
   * Использование функции default (replicaCount и image.tag)   * Использование функции default (replicaCount и image.tag)
-  * Деплой в один NS двух приложений и ипользование .Release.Name в назании объектов и меток (можно показать отдельно)+  * Деплой в один NS двух приложений и ипользование .Release.Name в назании объектов ​(Deployment,​ Service) ​и меток (можно показать отдельно)
 <​code>​ <​code>​
 kube1:​~/​webd-k8s#​ helm upgrade -i my-htwebd uni-webd-chart/​ -n my-ns --create-namespace kube1:​~/​webd-k8s#​ helm upgrade -i my-htwebd uni-webd-chart/​ -n my-ns --create-namespace
Line 70: Line 73:
 </​code>​ </​code>​
   * Включение через enabled, цикл range (host в [[Система Kubernetes#​ingress example]]) и знак "​$"​ (.Release.Name)   * Включение через enabled, цикл range (host в [[Система Kubernetes#​ingress example]]) и знак "​$"​ (.Release.Name)
-  ​* Добавляем tls, общий env.yaml, ​[], tpl, quote+<​code>​ 
 +... 
 +server# curl http://​pywebd.corpX.un 
 +</​code>​ 
 +  ​* Добавляем tls, общий env.yaml, ​комментарии, tpl, [], quote 
 +<​code>​ 
 +kube1:​~/​webd-k8s#​ helm template -f env.yaml my-pywebd uni-webd-chart/​ #--debug 
 + 
 +kube1:​~/​webd-k8s#​ helm upgrade -i my-pywebd uni-webd-chart/​ -f env.yaml -n my-ns --create-namespace 
 + 
 +kube1:​~/​webd-k8s#​ curl https://​pywebd.corpX.un -kv 
 +</​code>​
   * Добавляем Сertificate через [[Система Kubernetes#​cert-manager]],​ все похоже на Ingress   * Добавляем Сertificate через [[Система Kubernetes#​cert-manager]],​ все похоже на Ingress
-  ​* Меняем запись А в DNS для приложения pywebd:ver1.1, функции eq, and ([[Система Kubernetes#​Service]] ​targetPort, ​loadBalancerIP) тестируем без Ingress и Сertificate ​+<​code>​ 
 +... 
 +kube1:​~/​webd-k8s#​ curl https://​pywebd.corpX.un 
 +</​code>​ 
 +  ​* Меняем запись А на свободный IP [[Система Kubernetes#​MetalLB]] ​в DNS для приложения pywebd, используем ​ver1.1, функции eq, and ([[Система Kubernetes#​Service]] loadBalancerIP) тестируем без Ingress и Сertificate 
 +<​code>​ 
 +... 
 +kube1:​~/​webd-k8s#​ curl http://​pywebd.corpX.un 
 +</​code>​
   * Функции toYaml, nindent, оператор with (env, volumes, volumeMounts в [[Система Kubernetes#​Deployment]] и [[Система Kubernetes#​ConfigMap,​ Secret]] для pywebd:​ver1.2)   * Функции toYaml, nindent, оператор with (env, volumes, volumeMounts в [[Система Kubernetes#​Deployment]] и [[Система Kubernetes#​ConfigMap,​ Secret]] для pywebd:​ver1.2)
 +<​code>​ 
 +... 
 +kube1:​~/​webd-k8s#​ curl https://​pywebd.corpX.un 
 +</​code>​
 ==== Итоговый чарт ==== ==== Итоговый чарт ====
  
Line 96: Line 121:
 #  PYWEBD_DOC_ROOT:​ /var/www/ #  PYWEBD_DOC_ROOT:​ /var/www/
 #  PYWEBD_PORT:​ 4443 #  PYWEBD_PORT:​ 4443
-#  APWEBD_HOSTNAME:​ "​apwebd.corpX.un"​ 
-#  KEYCLOAK_HOSTNAME:​ "​keycloak.corpX.un"​ 
-#  REALM_NAME: "​corpX"​ 
  
 service: service:
Line 256: Line 278:
     name: {{ .Values.certificate.issuerRef_name }}     name: {{ .Values.certificate.issuerRef_name }}
     kind: {{ .Values.certificate.issuerRef_kind }}     kind: {{ .Values.certificate.issuerRef_kind }}
 +  privateKey:
 +    rotationPolicy:​ Always
 {{- end }} {{- end }}
 </​code>​ </​code>​
Line 262: Line 286:
  
 <​code>​ <​code>​
-kube1:​~/​webd-k8s#​ cp uni-webd-chart/​values.yaml apps/​gowebd/​values.yaml+kube1:​~/​webd-k8s# ###cp uni-webd-chart/​values.yaml apps/​gowebd/​values.yaml
  
-kube1:​~/​webd-k8s#​ cp uni-webd-chart/​values.yaml apps/​pywebd/​values.yaml+kube1:​~/​webd-k8s# ###cp uni-webd-chart/​values.yaml apps/​pywebd/​values.yaml
  
 kube1:​~/​webd-k8s#​ vim uni-webd-chart/​values.yaml kube1:​~/​webd-k8s#​ vim uni-webd-chart/​values.yaml
Line 305: Line 329:
  
 env: env:
-  PYWEBD_DOC_ROOT:​ /var/www2/+  PYWEBD_DOC_ROOT:​ /var/www/
   PYWEBD_PORT:​ 4443   PYWEBD_PORT:​ 4443
  
Line 332: Line 356:
   mountPath: /​etc/​pywebd/​pywebd.key   mountPath: /​etc/​pywebd/​pywebd.key
 </​code><​code>​ </​code><​code>​
 +kube1:​~/​webd-k8s#​ helm template my-pywebd uni-webd-chart/​ -f apps/​pywebd/​values.yaml -f env.yaml
 +
 +kube1:​~/​webd-k8s#​ helm upgrade -i my-pywebd uni-webd-chart/​ -f env.yaml -f apps/​pywebd/​values.yaml -n my-ns --create-namespace
 +</​code>​
 +
 +Развернем через ArgoCD
 +
 +<​code>​
 kube1:​~/​webd-k8s#​ cat apps/​apwebd/​values.yaml kube1:​~/​webd-k8s#​ cat apps/​apwebd/​values.yaml
 </​code><​code>​ </​code><​code>​
Line 367: Line 399:
  
   * [[Контроллер ArgoCD#​Управление приложениями через kubectl]]   * [[Контроллер ArgoCD#​Управление приложениями через kubectl]]
 +  * Увеличиваем версию gowebd
  
 ==== Множество приложений ==== ==== Множество приложений ====
  
   * [[Контроллер ArgoCD#​Развертывание множества приложений через ApplicationSet]]   * [[Контроллер ArgoCD#​Развертывание множества приложений через ApplicationSet]]
-  * Увеличиваем версию gowebd 
   * Добавляем apwebd   * Добавляем apwebd
 +
 +===== Подготовка к вебинару =====
 +
 +  * Удаляем AppSet ArgoCD
 +  * Удаляем проект webd-k8s из GitLab
 +  * gowebd A -> ingress
универсальный_helm-чарт.1769320190.txt.gz · Last modified: 2026/01/25 08:49 by val