2016-11-01 13 views

cevap

19

Sen ödemesiz pod'unu yapılandırabilirsiniz yapmak (örneğin 30 saniye veya daha fazla, bağlı olamaz konteyner başlangıç ​​zamanı ve görüntü boyutu üzerinde) ve "imagePullPolicy: "Always"'u ayarlayın. Ve kubectl delete pod pod_name kullanın. Yeni bir kap oluşturulacak ve en son resim otomatik olarak indirilecek, daha sonra eski konteyner sonlandırılacaktır.

Örnek: Şu anda otomatik için Jenkins kullanıyorum

spec: 
    terminationGracePeriodSeconds: 30 
    containers: 
    - name: my_container 
    image: my_image:latest 
    imagePullPolicy: "Always" 

oluşturur ve görüntü etiketleme ve şuna benzer:

kubectl --user="kube-user" --server="https://kubemaster.example.com" --token=$ACCESS_TOKEN set image deployment/my-deployment mycontainer=myimage:"$BUILD_NUMBER-$SHORT_GIT_COMMIT" 

bir püf başlangıçta çalıştırmaktır:

kubectl set image deployment/my-deployment mycontainer=myimage:latest 

ve sonra:

kubectl set image deployment/my-deployment mycontainer=myimage 

Aslında, güncelleştirme işlemini tetikleyecektir, ancak imagePullPolicy: "Always" kümesinin de ayarlandığından emin olun.

Güncelleme:

Sana görüntü adını değiştirmek gerekmez, nerede terminationGracePeriodSeconds gibi bir haddeleme güncelleştirme tetikleyecek bir alanın değerini değiştirmektir, bulunan başka numara. Bu kubectl edit deployment your_deployment veya kubectl apply -f your_deployment.yaml veya aşağıdaki gibi bir yama kullanarak yapabilirsiniz:

kubectl patch deployment your_deployment -p \ 
    '{"spec":{"template":{"spec":{"terminationGracePeriodSeconds":31}}}}' 

Sadece her zaman sayı değerini değiştirmek emin olun.

+0

Aslında numaranız göz önünde bulundurulduğunda, senin numaranın kötü değil: lastet ve myimage temelde aynı şey, teşekkürler! – abovesun

+0

Bu hile bir hataya benziyor, neden iki kez belirtmemiz gerektiğinden emin değil. – speedplane

+1

Bir kubernetes dağıtımının aynı görüntüyü kullanarak yeni bir bölme başlatmasını istiyorsanız (ve bu numara sadece "en son" etiketle çalışır) etiketi olmadan belirtmeniz gerekir. Bir dahaki sefere "son" etiketini ekleyin ve güncellemeyi tetikleyecektir. Emir tersine çevrilebilir, önemli değil. "En son" etiketini asla üretimde kullanmazsınız, ancak geliştirme amacıyla bazen bunlardan yararlanabilirsiniz. – Camil

İlgili konular