2017-11-02 1 views
0

私はこのエラーを見ておいてください。ヘルム/ Kubernetes - Statefulset&権限

Events: 
    FirstSeen LastSeen Count From  SubObjectPath Type  Reason  Message 
    --------- -------- ----- ----  ------------- -------- ------  ------- 
    12s  2s  12 {statefulset }   Warning  FailedCreate create Pod pgset-0 in StatefulSet pgset failed error: pods "pgset-0" is forbidden: unable to validate against any security context constraint: [fsGroup: Invalid value: []int64{26}: 26 is not an allowed group] 

私は "pgset-SA" という名前のServiceAccountを作成し、それをクラスタ-adminロールを付与されてきました。私はこれを動作させるために(sccの編集を含む)他の方法を研究してきましたが、許可されていないグループであることを示すfsGroupからのエラーを続けています。私は何が欠けていますか?

apiVersion: apps/v1beta1 
kind: StatefulSet 
metadata: 
    name: "{{.Values.ContainerName}}" 
    labels: 
    name: "{{.Values.ReplicaName}}" 
    app: "{{.Values.ContainerName}}" 
    chart: "{{.Chart.Name}}-{{.Chart.Version}}" 
    annotations: 
    "helm.sh/created": {{.Release.Time.Seconds | quote }} 
spec: 
    selector: 
    matchLabels: 
     app: "{{.Values.ContainerName}}" 
    serviceName: "{{.Values.ContainerName}}" 
    replicas: 2 
    template: 
    metadata: 
     labels: 
     app: "{{.Values.ContainerName}}" 
    spec: 
     serviceAccount: "{{.Values.ContainerServiceAccount}}" 
     securityContext: 
     fsGroup: 26 
     terminationGracePeriodSeconds: 10 
     containers: 
     - name: {{.Values.ContainerName}} 
     image: "{{.Values.PostgresImage}}" 
     ports: 
     - containerPort: 5432 
      name: postgres 
     resources: 
      requests: 
      cpu: {{default "100m" .Values.Cpu}} 
      memory: {{default "100M" .Values.Memory}} 
     env: 
     - name: PGHOST 
      value: /tmp 
     - name: PG_PRIMARY_USER 
      value: primaryuser 
     - name: PG_MODE 
      value: set 
     - name: PG_PRIMARY_HOST 
      value: "{{.Values.PrimaryName}}" 
     - name: PG_PRIMARY_PORT 
      value: "5432" 
     - name: PG_PRIMARY_PASSWORD 
      value: "{{.Values.PrimaryPassword}}" 
     - name: PG_USER 
      value: testuser 
     - name: PG_PASSWORD 
      value: "{{.Values.UserPassword}}" 
     - name: PG_DATABASE 
      value: userdb 
     - name: PG_ROOT_PASSWORD 
      value: "{{.Values.RootPassword}}" 
     volumeMounts: 
     - name: pgdata 
      mountPath: "/pgdata" 
      readOnly: false 
     volumes: 
     - name: pgdata 
     persistentVolumeClaim: 
      claimName: {{.Values.PVCName}} 

答えて

1

statefulsetに関連したサービスアカウントがポッドを可能にするのに十分なセキュリティコンテキストの制約(正確にfsGroup 26ことができますまたは任意のfsGroupができます、のいずれかで1を付与する必要がありますhttps://docs.openshift.org/latest/admin_guide/manage_scc.html#how-do-i

を見てみましょうこの場合)