2017-06-15 22 views
0

を使用して更新プログラムの展開プロフィール私は1つの展開が実行されている:Kubernetes - コマンドライン

# kubectl get deployments 
NAME     DESIRED CURRENT UP-TO-DATE AVAILABLE AGE 
kubernetes-dashboard 4   4   4   4   131d 

私が使用して現在の展開の設定を表示することができます。

# kubectl get deployments kubernetes-dashboard -o yaml 
apiVersion: extensions/v1beta1 
kind: Deployment 
metadata: 
    annotations: 
    deployment.kubernetes.io/revision: "2" 
    creationTimestamp: 2017-02-03T16:04:04Z 
    generation: 5 
    labels: 
    app: kubernetes-dashboard 
    name: kubernetes-dashboard 
    namespace: default 
    resourceVersion: "33197158" 
    selfLink: /apis/extensions/v1beta1/namespaces/default/deployments/kubernetes-dashboard 
    uid: 627d92b2-ea2a-11e6-a152-0050569b714e 
spec: 
    replicas: 4 
    selector: 
    matchLabels: 
     app: kubernetes-dashboard 
    strategy: 
    rollingUpdate: 
     maxSurge: 1 
     maxUnavailable: 1 
    type: RollingUpdate 
    template: 
    metadata: 
     annotations: 
     scheduler.alpha.kubernetes.io/tolerations: | 
      [ 
      { 
       "key": "dedicated", 
       "operator": "Equal", 
       "value": "master", 
       "effect": "NoSchedule" 
      } 
      ] 
     creationTimestamp: null 
     labels: 
     app: kubernetes-dashboard 
    spec: 
     containers: 
     - args: 
     - --apiserver-host=http://172.29.219.6:8080 
     image: gcr.io/google_containers/kubernetes-dashboard-amd64:v1.5.0 
     imagePullPolicy: Always 
     livenessProbe: 
      failureThreshold: 3 
      httpGet: 
      path:/
      port: 9090 
      scheme: HTTP 
      initialDelaySeconds: 30 
      periodSeconds: 10 
      successThreshold: 1 
      timeoutSeconds: 30 
     name: kubernetes-dashboard 
     ports: 
     - containerPort: 9090 
      protocol: TCP 
     resources: {} 
     terminationMessagePath: /dev/termination-log 
     dnsPolicy: ClusterFirst 
     restartPolicy: Always 
     securityContext: {} 
     terminationGracePeriodSeconds: 30 
status: 
    availableReplicas: 4 
    observedGeneration: 5 
    replicas: 4 
    updatedReplicas: 4 

今、私はその場でreplicas: 4を編集したいです。

kubectl edit deployment kubernetes-dashboard 

しかし、上記の方法は、私は、手動で更新する必要があるファイルを開く:私はそれを行うための一つの方法があることを知っています。これはスクリプトやAnsibleのような外部ツールを使ってこれらのデプロイメントを自動編集したいので、私にとっては問題になります。

私はこのようなものを使用することを願っていた。

kubectl set replicas deployment/kubernetes-dashboard replicas=2 

しかし、そのようなコマンドはサポートされていないように思えるが。 このようなコマンドは、imageタグでのみサポートされています。

デプロイメントがコマンドを発行するだけで(エディタを使用せずに)レプリカや他のプロパティを更新する方法はありますか?

答えて

1

あなたは、このコマンドを使用して、展開のためにこれを達成することができます:docs

kubectl scale deployment my-deployment --replicas 4

詳細情報を。

この問題に対するより一般的な解決策あなたが設定の異なる部分を変更するために起こった場合は、使用することです:

kubectl patch deployment my-deployment -p '{"spec": {"replicas": 4}}'

これはいずれにも任意の部分設定のアップデートを適用するために使用することができますリソース。 Docs

関連する問題