আপনি আপনার পোডকে একটি গ্রেস পিরিয়ড (উদাহরণস্বরূপ 30 সেকেন্ড বা তার বেশি সময় ধারক প্রারম্ভকালীন সময় এবং চিত্রের আকারের উপর নির্ভর করে) কনফিগার করতে পারেন এবং সেট করতে পারেন "imagePullPolicy: "Always"। এবং ব্যবহার kubectl delete pod pod_name। একটি নতুন ধারক তৈরি হবে এবং সর্বশেষতম চিত্র স্বয়ংক্রিয়ভাবে ডাউনলোড হবে, তারপরে পুরানো ধারকটি সমাপ্ত হবে।
উদাহরণ:
spec:
terminationGracePeriodSeconds: 30
containers:
- name: my_container
image: my_image:latest
imagePullPolicy: "Always"
আমি বর্তমানে জেনকিন্সকে স্বয়ংক্রিয় বিল্ড এবং চিত্র ট্যাগিংয়ের জন্য ব্যবহার করছি এবং এটি দেখতে এরকম কিছু দেখাচ্ছে:
kubectl --user="kube-user" --server="https://kubemaster.example.com" --token=$ACCESS_TOKEN set image deployment/my-deployment mycontainer=myimage:"$BUILD_NUMBER-$SHORT_GIT_COMMIT"
অন্য কৌশলটি অন্তর্নিহিতভাবে চালানো হয়:
kubectl set image deployment/my-deployment mycontainer=myimage:latest
এবং তারপর:
kubectl set image deployment/my-deployment mycontainer=myimage
এটি আসলে রোলিং-আপডেটটি ট্রিগার করবে তবে নিশ্চিত হয়ে নিন যে আপনিও imagePullPolicy: "Always"সেট করেছেন।
হালনাগাদ:
আমি আর একটি কৌশল পেয়েছি, যেখানে আপনাকে চিত্রের নাম পরিবর্তন করতে হবে না, হ'ল এমন একটি ক্ষেত্রের মান পরিবর্তন করা যা ঘূর্ণায়মান আপডেটকে ট্রিগার করবে, যেমন terminationGracePeriodSeconds। আপনি এটি ব্যবহার করতে kubectl edit deployment your_deploymentবা kubectl apply -f your_deployment.yamlএটির মতো প্যাচ ব্যবহার করে করতে পারেন :
kubectl patch deployment your_deployment -p \
'{"spec":{"template":{"spec":{"terminationGracePeriodSeconds":31}}}}'
কেবলমাত্র আপনি সর্বদা সংখ্যার মান পরিবর্তন করেছেন তা নিশ্চিত করুন।