2017-04-10 8 views
0
apiVersion: extensions/v1beta1 
kind: Deployment 
metadata: 
    name: test 
spec: 
    replicas: 1 
    template: 
    metadata: 
     labels: 
     app: test 
    spec: 
     containers: 
     - name: test 
     image: xxx:latest 
     ports: 
     - containerPort: 80 
     imagePullPolicy: Always 
     imagePullSecrets: 
     - name: aaaa 

私はタグ「latest」を使用します。画像を更新すると、新しい画像はまだ「最新」です。私が "kubectlイメージ展開/テストテスト= xxx:最新"を設定すると、何も起こらない。私は何をすべきか?kubernetesで展開を更新する方法は?

+0

あなたのローカルドッカーの画像またはリポジトリから画像を引き出していますか?そして、あなたは他のバージョンでイメージを更新しようとすることができますか?それでも何も変わらないのですか? [どのようにちょうどサイクルにポッドを取得するには、何も変更せずにkubernetesに「展開」する]の – Tarun

+0

可能な複製(http://stackoverflow.com/questions/40500377/how-to-deploy-in-kubernetes-without-any-ポッド・ツー・サイクルだけの変更) – pagid

答えて

0

ローリングアップデートは、ドッカーのイメージタグによって異なります。デプロイメントでlatestタグを使用している場合は、新しいバージョンで新しいイメージをカットする必要があります。イメージが変更された場合は、常にlatestタグを使用している場合

展開リソースを判断することはできません。 k8sに関する限り、あなたはすでにのタグlatestで画像をで実行しているので、何もする必要はありません。

非常にこのような理由のための展開にlatestを使用しないことをお勧めします。ドッカーの画像を正しくバージョンアップすれば、はるかに簡単な時間を取ることができます。

2

template下PodTemplateSpecが変更された場合RollingUpdateは常にトリガされます。

タグを使用している間は、imagePullPolicy: Alwaysと画像調整ごとに変更されたラベルを使用しても問題はありません。このようなSth:

kubectl patch deployment test -p "{\"spec\":{\"template\":{\"metadata\":{\"labels\":{\"date\"‌​:\"$(date +%s)\"}}}}}" 
関連する問題