আপনি আপনার পোডকে একটি গ্রেস পিরিয়ড (উদাহরণস্বরূপ 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}}}}'
কেবলমাত্র আপনি সর্বদা সংখ্যার মান পরিবর্তন করেছেন তা নিশ্চিত করুন।