2017-05-16 6 views
0

デーモンセットを持つノードにソフトウェアをデプロイしたいが、ドッカーアプリではない。アプリのデプロイが成功した場合、ENV変数がまったく存在しないデーモンセットを使用してKubernetesでプロセスを作成するとenvが作成されない

"template": { 
     "metadata": { 
     "creationTimestamp": null, 
     "labels": { 
      "app": "uniagent" 
     }, 
     "annotations": { 
      "scheduler.alpha.kubernetes.io/tolerations": "[{\"key\":\"beta.k8s.io/accepted-app\",\"operator\":\"Exists\", \"effect\":\"NoSchedule\"}]" 
     }, 
     "enable": true 
     }, 
     "spec": { 
     "restartPolicy": "Always", 
     "terminationGracePeriodSeconds": 30, 
     "dnsPolicy": "ClusterFirst", 
     "securityContext": {}, 
     "processes": [ 
      { 
      "name": "foundation", 
      "package": "xxxxx", 
      "resources": { 
       "limits": { 
       "cpu": "100m", 
       "memory": "1Gi" 
       } 
      }, 
      "lifecyclePlan": { 
       "kind": "ProcessLifecycle", 
       "namespace": "engb", 
       "name": "app-plc" 
      }, 
      "env": [ 
      { 
       "name": "SECRET_USERNAME", 
       "valueFrom": { 
       "secretKeyRef": { 
        "name": "key-secret", 
        "key": "uniagentuser" 
       } 
       } 
      }, 
      { 
       "name": "SECRET_PASSWORD", 
       "valueFrom": { 
       "secretKeyRef": { 
        "name": "key-secret", 
        "key": "uniagenthash" 
       } 
       } 
      } 
      ] 
      }, 

:私はこのようなdaemonsetのJSONを作成しました。

この問題を解決するにはどうすればよいですか? ありがとう

答えて

3

デーモンセットはドッキング用のコンテナでなければなりません。非コンテナ化されたプログラムをデーモンセットとして実行することはできません。 https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/ Kubernetesはコンテナのみを起動します。

また、YAMLマニフェストファイルには"processes"というキーがあり、それが有効なマニフェストファイルではないと信じる理由があるため、正常に展開したかどうかは疑問です。

「完全な」YAMLファイルを貼り付けていませんが、最初に「テンプレート」キーがファイルのspec.templateキーであることを推測しています。

kubectl explain daemonset.spec.template.specを実行すると、"processes"フィールドが表示されません。

関連する問題