ትላንት፣ ታኅሣሥ 9፣
ይህንን ቁሳቁስ ለማዘጋጀት ጥቅም ላይ የዋለው መረጃ ከኦፊሴላዊው ማስታወቂያ የተወሰደ ነው ፣
ቶፖሎጂን የሚያውቅ ማዘዋወር
የኩበርኔትስ ማህበረሰብ ይህንን ባህሪ ለረጅም ጊዜ ሲጠብቅ ቆይቷል - ቶፖሎጂን የሚያውቅ የአገልግሎት መስመር. ከሆነ
አጠቃላይ ሀሳቡ በኩበርኔትስ ውስጥ ለሚኖሩ አገልግሎቶች "አካባቢያዊ" ማዘዋወርን የመተግበር ችሎታን መስጠት ነው። በዚህ ጉዳይ ላይ "አካባቢ" ማለት "ተመሳሳይ የቶፖሎጂ ደረጃ" ማለት ነው. (ቶፖሎጂ ደረጃ)ምናልባት፡-
- መስቀለኛ መንገድ ለአገልግሎቶች ተመሳሳይ ነው ፣
- ተመሳሳይ የአገልጋይ መደርደሪያ ፣
- ተመሳሳይ ክልል
- ተመሳሳይ የደመና አቅራቢ ፣
- ...
ይህንን ባህሪ የመጠቀም ምሳሌዎች
- ከበርካታ ተደራሽነት ዞኖች (multi-AZ) ጋር በደመና ጭነቶች ውስጥ በትራፊክ ላይ ቁጠባ - ይመልከቱ።
ትኩስ ምሳሌ ከተመሳሳይ ክልል የትራፊክ ምሳሌን በመጠቀም, ግን በ AWS ውስጥ የተለያዩ AZs; - ዝቅተኛ የአፈፃፀም መዘግየት / የተሻለ የመተላለፊያ ይዘት;
- በእያንዳንዱ ሸርተቴ ውስጥ ስላለው መስቀለኛ መንገድ አካባቢያዊ መረጃ ያለው የሻርድ አገልግሎት;
- የምዝግብ ማስታወሻዎቻቸው ከተሰበሰቡ መተግበሪያዎች ጋር በተመሳሳይ መስቀለኛ መንገድ ላይ የቅልጥፍና (ወይም አናሎግ) አቀማመጥ;
- ...
ስለ ቶፖሎጂ “የሚያውቀው” እንዲህ ዓይነቱ ማመላለሻ የአውታረ መረብ ትስስር ተብሎም ይጠራል - በተመሳሳይ መልኩ ServiceTopology
በኩበርኔትስ - የአልፋ ስሪት.
ባህሪው እንዴት እንደሚሰራ እና አስቀድመው ሊጠቀሙበት እንደሚችሉ ላይ ዝርዝሮችን ለማግኘት ያንብቡ
IPv4/IPv6 ባለሁለት ቁልል ድጋፍ
ጉልህ እድገት
- በ kube-proxy
ተተግብሯል በሁለቱም ሁነታዎች (IPv4 እና IPv6) በአንድ ጊዜ የመተግበር እድል; - в
Pod.Status.PodIPs
ታየ ለታች ኤፒአይ ድጋፍ (በተመሳሳይ ጊዜ በ ውስጥ/etc/hosts
አሁን አስተናጋጁ IPv6 አድራሻ እንዲጨምር ይፈልጋሉ); - ባለሁለት ቁልል ድጋፍ
KIND (Kubernetes IN Docker) እናkubeadm ; - የዘመነ e2e ሙከራዎች.
በሲኤስአይ ላይ እድገት
መረጋጋቱ ተገለጸ
ተነሳሽነት ለ የድምጽ ተሰኪዎችን ወደ CSI ማዛወር -
በአሁኑ ጊዜ፣ ለAWS EBS ሾፌሮች ፍልሰት በቅድመ-ይሁንታ ስሪት ዝግጁ ነው (kubernetes.io/aws-ebs
) እና GCE PD (kubernetes.io/gce-pd
). የሌሎች ማከማቻ ቦታዎች ትንበያዎች እንደሚከተለው ናቸው
በK8s ውስጥ “ባህላዊ” የማከማቻ ድጋፍ እንዴት ወደ CSI እንደገባ ተነጋገርን።
በተጨማሪም፣ በCSI አውድ ውስጥ ሌላ ጉልህ ተግባር፣ በ K1.17s 8 (የአልፋ ትግበራ) የሚመነጨው፣ በ Kubernetes 1.12 መለቀቅ ውስጥ የቅድመ-ይሁንታ ደረጃ ላይ ደርሷል (ማለትም በነባሪ የነቃ) -
- የ CSI ውጫዊ-ቅጽበታዊ ገጽ እይታን ወደ ሁለት መቆጣጠሪያዎች መከፋፈል ፣
- ለመሰረዝ የተጨመረ ሚስጥር (ምስጢር ስረዛ) የአንድ ጥራዝ ቅጽበታዊ ገጽ እይታ ይዘት እንደ ማብራሪያ ፣
- አዲስ ማጠናቀቂያ (ፍፃሜ) የተቀሩት ግንኙነቶች ካሉ ቅጽበተ-ፎቶ ኤፒአይ ነገር እንዳይሰረዝ ለመከላከል።
1.17 በሚለቀቅበት ጊዜ ባህሪው በሶስት የሲኤስአይ አሽከርካሪዎች ይደገፋል፡ GCE Persistent Disk CSI Driver፣ Portworx CSI Driver እና NetApp Trident CSI Driver። ስለ አተገባበሩ እና አጠቃቀሙ ተጨማሪ ዝርዝሮች በ ውስጥ ይገኛሉ
የደመና አቅራቢ መለያዎች
መለያዎችን በራስ-ሰር ጥቅም ላይ የዋለው የደመና አቅራቢ ላይ በመመስረት ለተፈጠሩት አንጓዎች እና መጠኖች ተመድቧል, Kubernetes ውስጥ እንደ ቅድመ-ይሁንታ ስሪት በጣም ለረጅም ጊዜ ይገኛሉ - K8s 1.2 ከተለቀቀ በኋላ (ኤፕሪል 2016!). ለረጅም ጊዜ በሰፊው ጥቅም ላይ ከዋሉ, ገንቢዎች
ስለዚህ፣ ሁሉም በዚሁ መሰረት ተቀይረዋል (በቶፖሎጂ)፡-
-
beta.kubernetes.io/instance-type
→node.kubernetes.io/instance-type
-
failure-domain.beta.kubernetes.io/zone
→topology.kubernetes.io/zone
-
failure-domain.beta.kubernetes.io/region
→topology.kubernetes.io/region
... ግን አሁንም በቀድሞ ስማቸው (ለኋላ ተኳሃኝነት) ይገኛሉ። ሆኖም ሁሉም አስተዳዳሪዎች ወደ ወቅታዊ መለያዎች እንዲቀይሩ ይመከራሉ።
የ kubeadm የተዋቀረ ውፅዓት
ለመጀመሪያ ጊዜ በአልፋ ስሪት ቀርቧል
ይህንን ባህሪ ተግባራዊ ለማድረግ ተነሳሽነት (በእ.ኤ.አ.)
Kubernetes በእጅ ሊሰራጭ ቢችልም, የዚህ ክዋኔ (ከሆነ ደ ጁሬ ካልሆነ) መስፈርት kubeadm መጠቀም ነው. እንደ ቴራፎርም ያሉ ታዋቂ የስርዓቶች አስተዳደር መሳሪያዎች Kubernetes ለማሰማራት በ kubeadm ላይ ይመሰረታሉ። በክላስተር ኤፒአይ ላይ የታቀዱ ማሻሻያዎች ለ Kubernetes bootstrapping በ kubeadm እና Cloud-init ሊሰራ የሚችል ጥቅል ያካትታሉ።
የተዋቀረ ውፅዓት ከሌለ በመጀመሪያ በጨረፍታ በጣም የማይጎዱ ለውጦች እንኳን Terraform ፣ Cluster API እና ሌሎች የ kubeadm ውጤቶችን የሚጠቀሙ ሶፍትዌሮችን ሊሰብሩ ይችላሉ።
የቅርብ ዕቅዶቻችን ለሚከተሉት የ kubeadm ትዕዛዞች ድጋፍ (በተዋቀረ ውፅዓት መልክ) ያካትታሉ፡
-
alpha certs
-
config images list
-
init
-
token create
-
token list
-
upgrade plan
-
version
ለትእዛዝ የJSON ምላሽ ምሳሌ kubeadm init -o json
:
{
"node0": "192.168.20.51:443",
"caCrt": "sha256:1f40ff4bd1b854fb4a5cf5d2f38267a5ce5f89e34d34b0f62bf335d74eef91a3",
"token": {
"id": "5ndzuu.ngie1sxkgielfpb1",
"ttl": "23h",
"expires": "2019-05-08T18:58:07Z",
"usages": [
"authentication",
"signing"
],
"description": "The default bootstrap token generated by 'kubeadm init'.",
"extraGroups": [
"system:bootstrappers:kubeadm:default-node-token"
]
},
"raw": "Rm9yIHRoZSBhY3R1YWwgb3V0cHV0IG9mIHRoZSAia3ViZWFkbSBpbml0IiBjb21tYW5kLCBwbGVhc2Ugc2VlIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2FrdXR6LzdhNjg2ZGU1N2JmNDMzZjkyZjcxYjZmYjc3ZDRkOWJhI2ZpbGUta3ViZWFkbS1pbml0LW91dHB1dC1sb2c="
}
የሌሎች ፈጠራዎች መረጋጋት
በአጠቃላይ የኩበርኔትስ 1.17 መለቀቅ የተካሄደው “በሚል መሪ ቃል ነው።መረጋጋት" ይህ የተመቻቸው በውስጡ ብዙ ባህሪያት በመኖራቸው ነው (ጠቅላላ ቁጥራቸው ነው። 14) የ GA ሁኔታ ተቀብሏል. ከነሱ መካክል:
- በተወሰኑ ሁኔታዎች መሰረት "ምልክት ማድረግ" አንጓዎች
) ውስጥ ታየTaintNodesByCondition
K8s 1.8 ; -
ዕልባቶችን ይመልከቱ - ሁሉም ዕቃዎች እስከ አንድ የተወሰነ ስሪት ድረስ ያላቸው መለያ ያላቸው አዲስ ዓይነት ክስተቶች (resourceVersion
) አስቀድሞ በሰዓት ተካሂደዋል; -
ነባሪ እሴቶች (ነባሪ) ለጉምሩክ ሀብቶች; -
በመያዣዎች መካከል የተጋራ በፖድ ሂደት ውስጥ የስም ቦታዎች; -
ScheduleDaemonSetPods
-በ DaemonSet ውስጥ መርሐግብር ማስያዝ የ kube-scheduler (ከ DaemonSet መቆጣጠሪያ ይልቅ) በመጠቀም; -
ተለዋዋጭ ገደቦች በመስቀለኛ መንገድ ላይ በመመስረት በጥራዞች ብዛት ላይ; -
የአካባቢ ተለዋዋጭ ድጋፍ እንደ የተጫኑ የማውጫ ስሞችsubPath
; -
የኩቤሌት የልብ ምት ማስተላለፍ ወደ ልዩ የሊዝ ኤፒአይ; - "የፍፃሜ ጥበቃ" (
Finalizer ጥበቃ ) ለጭነት ሚዛን (LoadBalancer ሃብቶችን ከመሰረዝዎ በፊት ተጓዳኝ የአገልግሎት ሀብቶችን መፈተሽ); -
kube-apiserver ማመቻቸት ከበርካታ ሰዓቶች ጋር በሚሰሩበት ጊዜ ተመሳሳይ የነገሮች ስብስቦችን በመከታተል በሚሰሩበት ጊዜ - ለእያንዳንዱ ተመልካች ተመሳሳይ ዕቃዎችን ተደጋጋሚ ቅደም ተከተል በማስወገድ የተገኘው።
ሌሎች ለውጦች
በ Kubernetes 1.17 ውስጥ ያለው ሙሉ የፈጠራዎች ዝርዝር, በእርግጥ, ከላይ በተዘረዘሩት ብቻ የተገደበ አይደለም. አንዳንድ ሌሎች እዚህ አሉ (እና ለተሟላ ዝርዝር ይመልከቱ
- በመጨረሻው ልቀት ላይ የቀረበው ባህሪ የቅድመ-ይሁንታ ስሪት ላይ ደርሷል
;RunAsUserName
ለዊንዶውስ - ተመሳሳይ ለውጥ
አጋጠመው EndpointSlice API (እንዲሁም ከK8s 1.16)፣ ነገር ግን ለአሁን ይህ የEndpoint API አፈጻጸም/መጠን ለማሻሻል ይህ መፍትሔ በነባሪነት አልነቃም። - እንክብሎች አሁን ለክላስተር ስራ ወሳኝ ናቸው።
መፍጠር ይቻላል። በስም ቦታዎች ላይ ብቻ አይደለምkube-system
(ለዝርዝሮች፣ ሰነዱን ይመልከቱየቅድሚያ ክፍል ፍጆታን ይገድቡ ); - ለ kubelet አዲስ አማራጭ -
- ለስርዓቱ የተቀመጡትን የሲፒዩዎች ዝርዝር በግልፅ እንዲገልጹ ያስችልዎታል;--reserved-cpus
- ለ
kubectl logs
ቀርቧል አዲስ ባንዲራ--prefix
, በእያንዳንዱ የምዝግብ ማስታወሻ መስመር ላይ የፖድ እና የምንጭ መያዣ ስም መጨመር; - в
label.Selector
ታክሏል RequiresExactMatch
; - ሁሉም መያዣዎች በ kube-dns
አሁን እየሮጡ ናቸው በትንሽ መብቶች; -
hyperkube ወደ የተለየ GitHub ማከማቻ ተለያይቷል እና ከአሁን በኋላ በኩበርኔትስ ልቀቶች ውስጥ አይካተትም። - በጣም
የተሻሻለ አፈጻጸም kube-proxy ላልሆኑ UDP ወደቦች።
ጥገኛ ለውጦች፡-
- በ kubeadm ውስጥ የተካተተው CoreDNS ስሪት 1.6.5 ነው;
- crctl ስሪት ወደ v1.16.1 ተዘምኗል;
- CSI 1.2.0;
- ወዘተ 3.4.3;
- የቅርብ ጊዜ የተፈተነ Docker ስሪት ወደ 19.03 ተሻሽሏል;
- Kubernetes 1.17 ለመገንባት የሚያስፈልገው ዝቅተኛው የ Go ስሪት 1.13.4 ነው።
PS
በብሎጋችን ላይ ያንብቡ፡-
- «
ኩበርኔትስ 1.16፡ የአዲሱ ነገር ዋና ዋና ዜናዎች "; - «
ኩበርኔትስ 1.15፡ የአዲሱ ነገር ዋና ዋና ዜናዎች "; - «
ኩበርኔትስ 1.14፡ የአዲሱ ነገር ዋና ዋና ዜናዎች "; - «
ኩበርኔትስ 1.13፡ የአዲሱ ነገር ዋና ዋና ዜናዎች ».
ምንጭ: hab.com