2017-11-02 6 views
0

のデバッグ:Kubernetesヘルムチャート - 私は、これらのエラーを記述した良い情報を見つけることができませんよ

[[email protected] helm] helm install statefulset --name statefulset --debug 
[debug] Created tunnel using local port: '33172' 

[debug] SERVER: "localhost:33172" 

[debug] Original chart version: "" 
[debug] CHART PATH: /home/helm/statefulset/ 

Error: error validating "": error validating data: [field spec.template for v1beta1.StatefulSetSpec is required, field spec.serviceName for v1beta1.StatefulSetSpec is required, found invalid field containers for v1beta1.StatefulSetSpec] 

が、私はまだヘルムに新たなんです。私は、このテンプレートに似ていて、これらのエラーを持たない2つの作業チャートを作成しました。ただし、コードはそれほど違いはありません。私は気付いていないフォーマットエラーのいくつかの種類があるかもしれないと思っています。どちらか、それとも異なるタイプのものか(他のものはPods、これはStatefulSetです)。

YAMLはそれが参照のファイルはここにある:

apiVersion: apps/v1beta1 
kind: StatefulSet 
metadata: 
    name: "{{.Values.PrimaryName}}" 
    labels: 
    name: "{{.Values.PrimaryName}}" 
    app: "{{.Values.PrimaryName}}" 
    chart: "{{.Chart.Name}}-{{.Chart.Version}}" 
    annotations: 
    "helm.sh/created": {{.Release.Time.Seconds | quote }} 
spec: 
    #serviceAccount: "{{.Values.PrimaryName}}-sa" 
    containers: 
    - name: {{.Values.ContainerName}} 
    image: "{{.Values.PostgresImage}}" 
    ports: 
    - containerPort: 5432 
     protocol: TCP 
     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_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}} 

誰かa)はspec.templateとspec.serviceName必要なフィールドを実装する方法を見つけるために正しい方向に私を指すことができるだろう、B )なぜフィールド '容器'が無効であるのかを理解する、そして/またはc)ヘルムチャートをデバッグするのに役立つツールについて言及するか?私は 'helm lint'と '--debug'フラグを試みましたが、 'helm lint'はエラーを表示せず、上記のエラーとともにフラグ出力が表示されます。

別のファイルからもエラーが発生する可能性はありますか?

答えて

1

StatefulSetsオブジェクトにはポッドとは異なる構造があります。 yamlファイルを少し修正する必要があります:

apiVersion: apps/v1beta1 
kind: StatefulSet 
metadata: 
    name: "{{.Values.PrimaryName}}" 
    labels: 
    name: "{{.Values.PrimaryName}}" 
    app: "{{.Values.PrimaryName}}" 
    chart: "{{.Chart.Name}}-{{.Chart.Version}}" 
    annotations: 
    "helm.sh/created": {{.Release.Time.Seconds | quote }} 
spec: 
    selector: 
    matchLabels: 
     app: "" # has to match .spec.template.metadata.labels 
    serviceName: "" # put your serviceName here 
    replicas: 1 # by default is 1 
    template: 
    metadata: 
     labels: 
     app: "" # has to match .spec.selector.matchLabels 
    spec: 
     terminationGracePeriodSeconds: 10 
     containers: 
     - name: {{.Values.ContainerName}} 
     image: "{{.Values.PostgresImage}}" 
     ports: 
     - containerPort: 5432 
      protocol: TCP 
      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_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}} 
+0

Ah!はい!本当にありがとう。 – IAspireToBeGladOS

関連する問題