Kubernetes 1.16 - کسی بھی چیز کو توڑے بغیر اپ گریڈ کرنے کا طریقہ

Kubernetes 1.16 - کسی بھی چیز کو توڑے بغیر اپ گریڈ کرنے کا طریقہ

آج، 18 ستمبر، Kubernetes کا اگلا ورژن جاری کیا گیا ہے - 1.16۔ ہمیشہ کی طرح، بہت سی بہتری اور نئی مصنوعات ہمارے منتظر ہیں۔ لیکن میں آپ کی توجہ فائل کے ایکشن درکار حصوں کی طرف مبذول کرانا چاہتا ہوں۔ CHANGELOG-1.16.md. یہ حصے ایسی تبدیلیاں شائع کرتے ہیں جو آپ کی ایپلیکیشن، کلسٹر مینٹیننس ٹولز، یا کنفیگریشن فائلوں میں تبدیلی کی ضرورت پڑ سکتی ہیں۔

عام طور پر، انہیں دستی مداخلت کی ضرورت ہوتی ہے...

آئیے فوراً ایک تبدیلی کے ساتھ شروعات کریں جو ممکنہ طور پر ہر اس شخص کو متاثر کرے گا جو کافی عرصے سے کبرنیٹس کے ساتھ کام کر رہا ہے۔ Kubernetes API اب میراثی وسائل API ورژن کو سپورٹ نہیں کرتا ہے۔

اگر کسی کو معلوم نہ ہو یا بھول گیا ہو...وسائل کے API ورژن کی نشاندہی فیلڈ میں مینی فیسٹ میں کی گئی ہے۔ apiVersion: apps/v1

یعنی:

وسائل کی قسم
پرانی صورت
میں اسے کس چیز سے تبدیل کروں؟

تمام وسائل
apps/v1beta1
apps/v1beta2
apps/v1

تعینات
ڈیمونسیٹ
نقل
ایکسٹینشن/v1beta1
apps/v1

نیٹ ورک کی پالیسیاں
ایکسٹینشنز/v1beta1
networking.k8s.io/v1

پوڈ سیکیورٹی پالیسیاں
ایکسٹینشنز/v1beta1
پالیسی/v1beta1

میں آپ کی توجہ اس حقیقت کی طرف بھی مبذول کرانا چاہوں گا کہ قسم کی اشیاء Ingress بھی بدل گیا apiVersion پر networking.k8s.io/v1beta1. پرانا معنی extensions/v1beta1 اب بھی تعاون یافتہ ہے، لیکن ایک ہی وقت میں مینی فیسٹ میں اس ورژن کو اپ ڈیٹ کرنے کی ایک اچھی وجہ ہے۔

مختلف سسٹم لیبلز (نوڈ لیبلز) میں کافی تبدیلیاں ہیں جو نوڈس پر نصب ہیں۔

Kubelet کو صوابدیدی لیبل لگانے سے منع کیا گیا تھا (پہلے انہیں لانچ کیز کے ذریعے سیٹ کیا جا سکتا تھا kubelet --node-labelsانہوں نے صرف اس فہرست کو چھوڑ دیا۔ اجازت دی:

kubernetes.io/hostname
kubernetes.io/instance-type
kubernetes.io/os
kubernetes.io/arch

beta.kubernetes.io/instance-type
beta.kubernetes.io/os
beta.kubernetes.io/arch

failure-domain.beta.kubernetes.io/zone
failure-domain.beta.kubernetes.io/region

failure-domain.kubernetes.io/zone
failure-domain.kubernetes.io/region

[*.]kubelet.kubernetes.io/*
[*.]node.kubernetes.io/*

لیبل beta.kubernetes.io/metadata-proxy-ready, beta.kubernetes.io/metadata-proxy-ready اور beta.kubernetes.io/kube-proxy-ds-ready کو اب نئے نوڈس میں شامل نہیں کیا گیا ہے، اور مختلف اضافی اجزاء نے نوڈ سلیکٹرز کے طور پر قدرے مختلف لیبلز کا استعمال شروع کر دیا ہے:

اجزاء
پرانا لیبل
موجودہ لیبل

kube-proxy
beta.kubernetes.io/kube-proxy-ds-ready
node.kubernetes.io/kube-proxy-ds-ready

آئی پی ماسک ایجنٹ
beta.kubernetes.io/masq-agent-ds-ready
node.kubernetes.io/masq-agent-ds-ready

میٹا ڈیٹا پراکسی
beta.kubernetes.io/metadata-proxy-ready
cloud.google.com/metadata-proxy-ready

kubeadm اب اس کے پیچھے ابتدائی کوبلٹ کنفیگریشن فائل کو ہٹاتا ہے۔ bootstrap-kubelet.conf. اگر آپ کے ٹولز اس فائل تک رسائی حاصل کر رہے تھے، تو پھر استعمال پر سوئچ کریں۔ kubelet.conf، جو موجودہ رسائی کی ترتیبات کو اسٹور کرتا ہے۔

Cadvisor اب میٹرکس فراہم نہیں کرتا ہے۔ pod_name и container_nameاگر آپ نے انہیں Prometheus میں استعمال کیا تو میٹرکس پر جائیں۔ pod и container بالترتیب.

لائن کمانڈ کے ساتھ چابیاں ہٹا دیں:

اجزاء
کلید واپس لی گئی۔

ہائپر کیوب
--make-symlink

kube-proxy
--resource-container

شیڈولر نے ایونٹ API کا ورژن v1beta1 استعمال کرنا شروع کیا۔ اگر آپ ایونٹ API کے ساتھ تعامل کرنے کے لیے فریق ثالث کے ٹولز استعمال کرتے ہیں، تو تازہ ترین ورژن پر سوئچ کریں۔

مزاح کا ایک لمحہ۔ ریلیز 1.16 کی تیاری کے دوران، درج ذیل تبدیلیاں کی گئیں:

  • تشریح کو ہٹا دیا scheduler.alpha.kubernetes.io/critical-pod ورژن v1.16.0-alpha.1 میں
  • تشریح واپس کردی scheduler.alpha.kubernetes.io/critical-pod ورژن v1.16.0-alpha.2 میں
  • تشریح کو ہٹا دیا scheduler.alpha.kubernetes.io/critical-pod ورژن v1.16.0-beta.1 میں

فیلڈ کا استعمال کریں۔ spec.priorityClassName پھلی کی اہمیت کو ظاہر کرنے کے لیے۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں