Ошибка настройки securityContext.capabilities в Helm Chart "Yandex Application Load Balancer Ingress Controller" v0.1.0.
При настройке securityContext.capabilities
возникает ошибка:
Error: UPGRADE FAILED: error validating "": error validating data: ValidationError(Deployment.spec.template.spec.securityContext): unknown field "capabilities" in io.k8s.api.core.v1.PodSecurityContext
Шаги воспроизведения.
- Раскомментировать настройку
securityContext.capabilities
в файлеyc-alb-ingress-controller-chart/values.yaml
в Helm Chartyc-alb-ingress-controller-chart-v0.1.0.tgz
- Установить Helm Chart
$ helm install \ --namespace <пространство имен> \ --set folderId=<идентификатор каталога> \ --set clusterId=<идентификатор кластера> \ --set-file saKeySecretKey=sa-key.json \ yc-alb-ingress-controller ./yc-alb-ingress-controller-chart/
- Ошибка установки
Failure when executing Helm command. Exited 1. stdout: Pulled: cr.yandex/yc/yc-alb-ingress-controller-chart:v0.1.0 Digest: sha256:567daf4668ba4bb7f3216c13869652ff87f5db0928ca0c133d8d878565b0ef87 stderr: WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /opt/kurs/output/kubeconfig WARNING: Kubernetes configuration file is world-readable. This is insecure. Location: /opt/kurs/output/kubeconfig Error: UPGRADE FAILED: error validating "": error validating data: ValidationError(Deployment.spec.template.spec.securityContext): unknown field "capabilities" in io.k8s.api.core.v1.PodSecurityContext
Причина ошибки.
Есть путаница между securityContext и PodSecurityContext.
Параметр .Values.securityContext
указан в deployment.yaml там, где необходимо указывать PodSecurityContext. В свою очередь, securityContext.capabilities
выставляются только для Containers, а не для Pod.
Подробнее см. описание API:
Предлагаемое решение.
В values.yaml добавить настройку podSecurityContext
. В Deployment .Values.securityContext
и .Values.podsecurityContext
выставить для ContainerSpec и PodSpec соответственно.