Size: a a a

Kubernetes — русскоговорящее сообщество

2021 June 24

GG

George Gaál in Kubernetes — русскоговорящее сообщество
ЯННП
источник

GG

George Gaál in Kubernetes — русскоговорящее сообщество
плохое решение
источник

GG

George Gaál in Kubernetes — русскоговорящее сообщество
у кого эльпайн, у кого убунта - траст сторы разные
источник

А

Андрей in Kubernetes — русскоговорящее сообщество
Угу
источник

А

Андрей in Kubernetes — русскоговорящее сообщество
Пока хз как это красиво сделать
источник

GG

George Gaál in Kubernetes — русскоговорящее сообщество
основной чарт
источник

GG

George Gaál in Kubernetes — русскоговорящее сообщество
apiVersion: v2
name: *****
description: A Helm chart for Kubernetes

# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application

# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 15.2.1

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
appVersion: 0.47.0
dependencies:
 - name: kube-prometheus-stack
   version: 15.2.1
   repository: *****
источник

GG

George Gaál in Kubernetes — русскоговорящее сообщество
вельюс
kube-prometheus-stack:
 alertmanager:
   alertmanagerSpec:
     image:
       repository: ****
 prometheusOperator:
   admissionWebhooks:
     patch:
       image:
         repository: ****
   image:
     repository: ****
   prometheusConfigReloaderImage:
     repository: ****
 prometheus:
   prometheusSpec:
     serviceMonitorSelectorNilUsesHelmValues: false
     retention: 15d
     image:
       repository: ****
 grafana:
   image:
     repository: ****
   testFramework:
     image: ****
   downloadDashboardsImage:
     repository: ****
   initChownData:
     repository: ****
   sidecar:
     image:
       repository: ****
источник

СГ

Сергей Голод... in Kubernetes — русскоговорящее сообщество
вот есть у меня чарт, где я создаю два контроллера. Внутренний и внешний. В качестве сабчартов у меня ingress-nginx.

# Internal Ingress
nginx-internal:
 controller:
   ingressClass: nginx-internal
   ingressClassResource:
     enabled: true
     default: true
   service:
     externalTrafficPolicy: "Local"
   affinity:
     podAntiAffinity:
       requiredDuringSchedulingIgnoredDuringExecution:
       - labelSelector:
           matchExpressions:
           - key: app.kubernetes.io/name
             operator: In
             values:
             - nginx-internal
         topologyKey: "kubernetes.io/hostname"

# External Ingress
nginx-external:
 controller:
   ingressClass: nginx-external
   ingressClassResource:
     enabled: true
     default: false
   service:
     externalTrafficPolicy: "Local"
   affinity:
     podAntiAffinity:
       requiredDuringSchedulingIgnoredDuringExecution:
       - labelSelector:
           matchExpressions:
           - key: app.kubernetes.io/name
             operator: In
             values:
             - nginx-external
         topologyKey: "kubernetes.io/hostname"


всё отличие между ними в двух строках: ingressClass и ключ для антиаффинити. А если бы я мог подставить в ingressClass и в values (для антиаффинити)  {{ Chart.name }} или его аналог, то обошёлся бы коротким вариантом:

default-values: &default-values
 controller:
   ingressClass: {{ Chart.name }}
   ingressClassResource:
     enabled: true
     default: false
   service:
     externalTrafficPolicy: "Local"
   affinity:
     podAntiAffinity:
       requiredDuringSchedulingIgnoredDuringExecution:
       - labelSelector:
           matchExpressions:
           - key: app.kubernetes.io/name
             operator: In
             values:
             - {{ Chart.name }}
         topologyKey: "kubernetes.io/hostname"

nginx-internal:

 <<: *default-values

nginx-external:
 <<: *default-values
источник

GG

George Gaál in Kubernetes — русскоговорящее сообщество
ну, епть, генерируй values.yaml из шаблона
источник

GG

George Gaál in Kubernetes — русскоговорящее сообщество
сколько уровней абстракции нам еще нужно )))))
источник

СГ

Сергей Голод... in Kubernetes — русскоговорящее сообщество
конечно), только это ещё +1 слой перед вызовом хельма
источник

T

Tamerlan in Kubernetes — русскоговорящее сообщество
очень простой костыль - монтировать сразу во все основные пути
источник

GG

George Gaál in Kubernetes — русскоговорящее сообщество
🤦‍♂️🤦‍♂️🤦‍♂️
источник

А

Андрей in Kubernetes — русскоговорящее сообщество
Да просто нужно сделать так чтоб свой СА был доступен всем подам с волт клиентом. Ну либо как уже советовали скипать проверку на трастед серт
источник

S

Sergey Grachev in Kubernetes — русскоговорящее сообщество
всем привет, кто то может подсказать, если куб перезапустил под по хелсчеку - в свойствах пода счётчик о зафейленных чеках обнуляется после этого или нет?
источник

GG

George Gaál in Kubernetes — русскоговорящее сообщество
не нужно
источник

GG

George Gaál in Kubernetes — русскоговорящее сообщество
как устанавливал? давай разбираться. Должен быть способ
источник

GG

George Gaál in Kubernetes — русскоговорящее сообщество
увеличится кмк
источник

S

Sergey Grachev in Kubernetes — русскоговорящее сообщество
я тоже так всегда думал, но сегодня что-то засомневался) поэтому решил уточнить на всякий случай
источник