使用 helm 在 KGE 上安装 traefik 2.9
我在使用 helm 在 Google Cloud 上的集群中安装 traefik 时遇到问题。 基本上,当我使用 initcontainer 去更改持久卷的证书文件夹中的权限时,我收到访问被拒绝错误。
这是我对 traefik helm 的价值观
persistence:
enabled: true
name: ssldata
accessMode: ReadWriteOnce
size: 1Gi
path: /ssldata
podSecurityContext:
fsGroup: null
deployment:
initContainers: # Ensure the `/data/acme.json` Permisssion is 600
- name: fix-data-dir-permissions
image: alpine:3.16.2
command: ["sh", "-c", "touch /ssldata/acme.json; chmod -v 600 /ssldata/acme.json"]
securityContext:
runAsNonRoot: true
runAsGroup: 65532
runAsUser: 65532
volumeMounts:
- name: ssldata
mountPath: /ssldata
当 helm 完成部署后,traefick pod 仍处于 init:CrashLoopBackOff 状态
查看此处的 pod 创建日志是我读到的内容: touch:/ssldata/acme.json:权限被拒绝
根据此:https://github.com/traefik/traefik-helm-chart/issues/396,你应该尝试:
command:
[
"sh",
"-c",
"touch /data/acme.json; chown 65532 /data/acme.json; chmod -v 600 /data/acme.json",
]
securityContext:
runAsNonRoot: false
runAsGroup: 0
runAsUser: 0
以 root 用户身份创建文件,然后将所有权更改为 65532。