కుబెర్నెటెస్ 1.16 - దేనినీ విచ్ఛిన్నం చేయకుండా ఎలా అప్‌గ్రేడ్ చేయాలి

కుబెర్నెటెస్ 1.16 - దేనినీ విచ్ఛిన్నం చేయకుండా ఎలా అప్‌గ్రేడ్ చేయాలి

ఈ రోజు, సెప్టెంబర్ 18, కుబెర్నెటెస్ యొక్క తదుపరి వెర్షన్ విడుదల చేయబడింది - 1.16. ఎప్పటిలాగే, అనేక మెరుగుదలలు మరియు కొత్త ఉత్పత్తులు మా కోసం వేచి ఉన్నాయి. కానీ నేను మీ దృష్టిని ఫైల్ యొక్క చర్య అవసరమైన విభాగాలకు ఆకర్షించాలనుకుంటున్నాను CHANGELOG-1.16.md. ఈ విభాగాలు మీ అప్లికేషన్, క్లస్టర్ మెయింటెనెన్స్ టూల్స్ లేదా కాన్ఫిగరేషన్ ఫైల్‌లకు మార్పులు అవసరమయ్యే మార్పులను ప్రచురిస్తాయి.

సాధారణంగా, వారికి మాన్యువల్ జోక్యం అవసరం...

చాలా కాలంగా కుబెర్నెట్‌లతో పని చేస్తున్న ప్రతి ఒక్కరినీ ప్రభావితం చేసే మార్పుతో వెంటనే ప్రారంభిద్దాం. Kubernetes API ఇకపై లెగసీ రిసోర్స్ API సంస్కరణలకు మద్దతు ఇవ్వదు.

ఎవరికైనా తెలియకపోయినా లేదా మరచిపోయినా...వనరు యొక్క API సంస్కరణ మానిఫెస్ట్‌లో, ఫీల్డ్‌లో సూచించబడింది apiVersion: apps/v1

అవి:

వనరుల రకం
పాత వెర్షన్
దేనితో భర్తీ చేయాలి

అన్ని వనరులు
యాప్‌లు/v1beta1
యాప్‌లు/v1beta2
యాప్‌లు/v1

విస్తరణలు
డెమోన్సెట్
ప్రతిరూపం
పొడిగింపు/v1beta1
యాప్‌లు/v1

నెట్వర్క్ విధానాలు
పొడిగింపులు/v1beta1
networking.k8s.io/v1

పాడ్ సెక్యూరిటీ విధానాలు
పొడిగింపులు/v1beta1
విధానం/v1beta1

నేను మీ దృష్టిని ఆకర్షించాలనుకుంటున్నాను, ఆ వస్తువులు రకం Ingress కూడా మార్చబడింది apiVersionnetworking.k8s.io/v1beta1. పాత అర్థం extensions/v1beta1 ఇప్పటికీ మద్దతు ఉంది, కానీ అదే సమయంలో మానిఫెస్ట్‌లలో ఈ సంస్కరణను నవీకరించడానికి మంచి కారణం ఉంది.

నోడ్స్‌లో ఇన్‌స్టాల్ చేయబడిన వివిధ సిస్టమ్ లేబుల్‌లలో (నోడ్ లేబుల్స్) చాలా మార్పులు ఉన్నాయి.

కుబెలెట్ ఏకపక్ష లేబుల్‌లను సెట్ చేయకుండా నిషేధించబడింది (గతంలో వాటిని లాంచ్ కీల ద్వారా సెట్ చేయవచ్చు 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

ip-mask-agent
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 ఇప్పుడు దాని వెనుక ఉన్న ప్రారంభ kublet కాన్ఫిగరేషన్ ఫైల్‌ను తీసివేస్తుంది bootstrap-kubelet.conf. మీ సాధనాలు ఈ ఫైల్‌ని యాక్సెస్ చేస్తుంటే, వినియోగానికి మారండి kubelet.conf, ఇది ప్రస్తుత యాక్సెస్ సెట్టింగ్‌లను నిల్వ చేస్తుంది.

క్యాడ్వైజర్ ఇకపై కొలమానాలను అందించదు pod_name и container_nameమీరు వాటిని ప్రోమేతియస్‌లో ఉపయోగించినట్లయితే, కొలమానాలకు వెళ్లండి pod и container వరుసగా.

లైన్ కమాండ్‌తో కీలు తీసివేయబడ్డాయి:

భాగం
ఉపసంహరించబడిన కీ

హైపర్క్యూబ్
--మేక్-సిమ్లింక్

kube-proxy
--వనరులు-కంటైనర్

షెడ్యూలర్ ఈవెంట్ 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

ఒక వ్యాఖ్యను జోడించండి