2

ここに私の展開テンプレートがあります:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  labels:
    name: XXX
    version: {{ xxx-version }}
    deploy_time: "{{ xxx-time }}"
  name: XXX
spec:
  replicas: 1
  revisionHistoryLimit : 0
  strategy:
    type : "RollingUpdate"
    rollingUpdate:
      maxUnavailable : 0%
      maxSurge : 100%
  selector:
    matchLabels:
      name: XXX
      version: {{ xxx-version }}
      deploy_time: "{{ xxx-time }}"
  template:
    metadata:
      labels:
        name: XXX
        version: {{ xxx-version }}
        deploy_time: "{{ xxx-time }}"
    spec:
      containers:
      - image: docker-registry:{{ xxx-version }}
        name: XXX
        ports:
        - name: XXX
          containerPort: 9000
4

1 に答える 1

5

この問題に関連するドキュメントの重要なセクションは次のとおりです。

.spec.selectorラベルは一致するがテンプレートが一致しないPod を制御する既存のレプリカ セット.spec.templateは縮小されます。最終的に、新しいレプリカ セットは0 にスケーリングされ.spec.replicas、すべての古いレプリカ セットは 0 にスケーリングされます。

http://kubernetes.io/docs/user-guide/deployments/

したがって、spec.selector は複数のデプロイメント間で異なるべきではありません。

selector:
    matchLabels:
      name: XXX
      version: {{ xxx-version }}
      deploy_time: "{{ xxx-time }}"

なる必要があります:

selector:
    matchLabels:
      name: XXX

残りのラベルは同じままでかまいません

于 2016-09-13T15:41:10.327 に答える