使用 Helm 在 Google Kubernetes Engine 上安装 Traefik 会导致 init:CrashLoopBackOff 状态。我该如何解决这个问题?

问题描述 投票:0回答:1

使用 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:权限被拒绝

google-kubernetes-engine kubernetes-helm traefik
1个回答
0
投票

根据此: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。

© www.soinside.com 2019 - 2024. All rights reserved.