áᏠá¨áĄá.
áá
áá ááłááľ ááááááľ áĽá
á áá á¨áááá áá¨á á¨á°áá°á°á á¨
á áááá˝
áĽá á á áŁá áĽá á¨ááłáá áá áŤáá˝ (á á áá áľáŞáľ áááł) á K8s áááľá°á ááśá˝ (áŠá¤ááľ) áá ááá ááá˘
á ááááŞáŤ, á¨ááŁááľ ÂŤkubectl debug
ᣠá áá°á¨áą á°ááłáłá kubectl exec
á áŽáá´ááá ááľáĽ áá°áľá á¨ááŤááľ ááá
áĽáť (áĽáá° ááľáĽ exec
) á ááľ ááľáĽ ááŤáŁ áŤáľááłá. áááłáᣠáá
áľáĽáá á á˛áľ ááŤáŁ á¨ááľ áá áŤáááááĄ-
kubectl debug -c debug-shell --image=debian target-pod -- bash
áľá á¤ááá áŽáá´áááŽá˝ (áĽá á¨á á ááá ááłááá˝) ááááŽá˝ á ááľáĽ áááá
NBá áá°á¨áą áĽá áľáá á˘áá áŁá
áŞá ááľááá áŤáá á°á°áŞ áá áááłá°ááá˘
áá áá ፠- PodOverhead
PodSpec
ááľá áłááá Overhead *ResourceList
(ááἠáá á˛ááťá¸á RuntimeClass
, á ááą áĽá
á áá á¨áá).
ááá áłáá áá ፠ááᢠááľááá áśááá á áľá°áłáłáŞ (ááľááá áśááá áĽáŤ á áľáŞáŤá
), á Kubernetes ááľáĽ áá°ááŤáŠ á áŤááľ á¨áááľáá ááĽáśá˝ áá°áŁá á áĽáŠ áááł áááľá°áŤá¨á á ááŤá¨áĄá á ááľ áááľá¨á á¨á°áá°áᢠáá
á°ááłá˝ááľ áĽáŤá°á á¨ááŁá á¨á°ááŤáŠ áááá áľáááśá˝ (á¨á´ááŽáááŹá˝á ᣠá¨áá˝á ááá ᣠá¨áááááşáŤá á áááááśá˝ ᣠááá°.) á¨áá°á á áááá áŤáá¸áá áľáአáŽáááŠá°áŽá˝á áĽá á¨áĽáŤ á áááá áááá¨áśá˝á á ááááľ áá ᣠááá
á á¨áá á˛áአáĽá á¨áááľáá ááŁá°á á˝ááłáá˝. á Kubernetes ááľáĽ áŤá áĽáá°áá
áŤá áááťá¸áľ áá°ááŤáŠ á áŤááľ (á˛áአá áľá°áłáłáŞ áŁ á¨ááŁáŞáŤ á áľá°áłáłáŞ áŁ CNI) ááľáá áááŁáá á áá áá á ááŤá¨áĄá á ááľ á¨ááŤá°áá áĽá á á˛áľ á°ááłáłá áááááśá˝á á¨ááŤááá á ááľ ááľáŁá á áááá˝ ááłá¨áá - áśááá á°áĽá á¨áá áŤá- á¨ááŤáá - á áŠá¤ááľ áá áá áŤá á áŤááľ. ááááŽá˝ - ááľáĽ
áśááá á áľá°áłáłáŞ á áŤá ááľá
á¨áááĽáá áŁá
᪠- á áá°áŠá áľ áá ááŤáŁáá˝á ááá°á˝ (StartupProbeEnabled
) áá°ááá - ááá áááááľ, ááá áá áŤáľá°áááá - ááą ááŽáĄá áĽáľáŞáŤá áá
á
áľá¨áľ á¨ááá˝á áźáŽá˝ áá¤áľ áá°áááᢠá áá
ááááŤáľ, áŁá
áŞá á ááááŞáŤ á°á ááˇá
á á°á¨ááŞáᣠᨠRuntimeClass ááťáťáŤ áá˛áŤáá á á
áľá-ááááł áááł ááľáĽ ááááᣠáá
á á âá¨á°ááŤáŠ áľáĽáľáŚá˝â áľááá áá¨ááŤáᢠá˛
á ááłá¨ áá¨áĽ
á áŠá áááľáľ 1.16 ááľáĽ áááááŞáŤ áá á¨áłáŠ áááľ ááá á¨á ááłá¨ áá¨áĽ áŁá áŞáá˝ (á á áá áĽáŞáľ)
-
áľáá áŁááááľ á ááłá¨ áá¨áĽ ááá - IPv4/IPv6 - áĽá á°ááá "áá¨áłáľ" á ááłáá˝, ááśá˝, á áááááśá˝ á°á¨á. ᨠIPv4-áá°-IPv4 áĽá ᨠIPv6-áá°-IPv6 ááŤá¨á á ááľ ááŤá¨á áŤááá ááľá°ááĽá áŤáŤáľáłá, á¨ááľ áĽáľá¨ ááŤá á áááááśá˝, á¨ááŁááť á á°ááŁá á (á áĽáŞá CNI ááľáĽ, PTP CNI áĽá Host-Local IPAM á°á°áŞáá˝), áĽáá˛áá ᨠKubernetes áľáĽáľáŚá˝ áá á¨ááŁáŁá áááá áľ. IPv4 ááá IPv6 áĽáťá˘ á¨áľáá ፠ááááŽá˝ ááĽá°ááá˘ááá .á ááľ áááá ááľáĽ á¨áááľ á áááľ á¨á áá á áľáŤáťáá˝á (IPv4 áĽá IPv6) á¨ááłá¨áľ ááłááĄ-
kube-master# kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE nginx-controller 1/1 Running 0 20m fd00:db8:1::2,192.168.1.3 kube-minion-1 kube-master#
- á á˛áľ á¤áá á ááá¨á¨áť ááĽáĽ -
EndpointSlice API . á áááŁá áŞáŤ-á ááŽááá ááľáĽ áŤá á¨á°ááŤáŠ á áŤááľá (apiserver, etcd, endpoints-controller, kube-proxy) á¨ááአá¨ááŁáŠá á¨áá¨á¨áť ááĽáĽ á¤áá á á¨á ááťá¸á/á¨ááŹáľ ááłáŽá˝á áááłá:: á á˛áą á¤áá á áá° Discovery API áĄáľá áá¨ááŤá áĽá á áşáá˝ á¨ááá አááśá˝á áŁáá áááľá°á ááľáĽ á áĽáŤááłááą á áááááľ áá á á áľá áşáá˝ á¨ááá አá¨áá á¨áá¨á¨áť ááĽáŚá˝á ááááá áá˝ááᢠáá áá áááľá¨á áĽáŤááłááą á áááááľ á N áááŽá˝ áá á°áááżáEndpointSlice
, áĽáŤááłááłá¸á á ááŁáŞáᾠᨠ100 á¨ááá áᥠá¨áá¨á¨áť ááĽáŚá˝ (áĽá´áą áááá á¨áá˝á áá). ᨠEndpointSlice á¤áá á ááá°ááľ áĽáľááą áĽáľáá˝á áá°áŁáᥠááĽáŤááłááą ááľ ááĽá á¨á áá á áľáŤáťáá˝ áľááᣠá á˛áľ áááśá˝ ááá¨á¨áť ááĽáĽ (áĽáť áłááá)Ready
иNotReady
), ááá¨á¨áť ááĽáŚá˝ á°áááá áááľ á ááĽá.
á áá¨á¨áťá áááľ áá á¨áá¨á á á¨á
áľá-ááááł áľáŞáľ áá á°ááˇá service.kubernetes.io/load-balancer-cleanup
áĽá á¨áĽáŤááłááą á áááááľ áá á á áááľ á°áŤááá LoadBalancer
. áĽáá˛á
ááááąá á áááááľ á áá°ááá áľ áá á¨ááá á°ááá
ááá ááĽáśá˝ "áá˝áłáľ" áĽáľáŞáŤáá
áľá¨áľ á¨ááĽá¨áąá áľáááá áá°á¨á áá¨áá¨áá.
á¤áá á áá˝áá˝
áľááááá âá¨áá¨áá፠áááŤáâ á Kubernetes API á áááá á áŤáŁá˘ áĽá á¨áĽáą áá áŤáá ááľá°ááĽá ááᢠáá
á¨ááá á á áĽááá ááľáá ááᢠáአááá˘áŤ á¨ááŤáľáááá¸áá áá° á¨á°á¨áá áááł ááľá°ááá
-
"áááľ áááŽá˝" ᨠáá/status
и/scale
á CustomResources; -
áááἠá ááŤá áἠááá á áá á¨á°áá°á¨á° á CRD áľáŞáśá˝; -
á á áᥠááá§á (á K8s 1.15) ááŁáŞ áĽá´áśá˝ (ááŁáŞ) áĽá á ááśáá˛á á¨ááľá ááľáááľ (ááá¨á) á CustomResources; -
ááľá á á áááአá áŠá á¨CRD ááĽáśá˝á ááá¨ááἠá¨ááŤáááá á¨OpenAPI á°ááśá˝á áááá á áĽá ááá°á á¨OpenAPI v3 schemaá á áá ááá˘
ááŠá áááľáľ á áľá°áłáłáŞáá˝ áá¨á
á áá á¨ááŤááá áá áá´áĄ-
ááá˝ áááľ áŁá
áŞáŤáľ á¤áł áá á°áá°áááĄ
áĽá á á áá áľáŞáľ ááľáĽ áĽá¸áá ááá
áá ፠áá áᢠSelfLink
- á¨á°áá°ááá ááá á¨áááá áĽá á áŤá á¨áá áአURI ObjectMeta
и ListMeta
(áááľá á áŠá áááľáľ ááľáĽ áŤá ááááá ááá á áŤá)ᢠááá áá°áá? á ááá ááááľ á°ááłá˝ááľ SelfLink
á Kubernetes áľáŞáľ 1.20, áĽá á¨áá¨á¨áťá - 1.21 áááá.
á¨ááἠáá¨ááť
á áá¨ááť áŚáł ááľáĽ ááá áĽáŤ, áá áĽáá° áá°ááľ á¨á°ááááľ, á á áŤáŁá˘á ááľá°ááá
- áááááŞáŤ áá (á á áá áľáŞáľ)
áłá¨ ááááśááľ á°áŤá°á á áááὠᨠCSI á°á°áŞ áľááá áá áŤáá á¨áá áŤáá፠ááááľ á Powershell áá á°ááľáá°á á Kubernetes áŽá áĽá á FlexVolume á°á°áŞáá˝ ááľáĽ á¨áá ááľáĽ á°á°áŞáá˝á áá°áŤáá˘
á¨CSI á°á°áŞáá˝á á áŠá áááľáľ ááááśááľ á¨áá°áá á áĽá áľ - ááľá
ᨠCSI áá áá˝á á ááá¨á áá ᣠá K8s 1.12 á°áááś á áľá°áááᣠáá° á áľá-ááááł áľáŞáľ á áľááᢠ- á°ááłáłá âááľá°ááááŤâ (á¨á áá áĽáľá¨ á
áľá-ááááł) á¨á°ááá CSIá á áá áá á¨á áŤáŁá˘áŤá áááŤá áĽáŤáá˝á áááá á á ááťá ááá˘
ᨠCSI á¨ááľáá ááľáĽ á¨áľáá˝ áľáá ).
á ááľáá á¨áŠá áááľáľ áľáŞáľ á áľá°áááá DataSource
á á˛áľ PVC áááá á) áĽáá˛áá á áá á¨á
áľá-ááááł áááł á°ááĽáá.
áááááĽá á ááá
á áááááĽá áá áááľ ááá áááŚá˝ (áááąá á á áá)
-
- ááľá ááááśá˝ âááľáá áľáááľâ á ááááŽá á á áááŹá˝á á ááśá˝á á¨áá áá ááá ááľáá˝á áá áá (áĽáá° Deployment and ReplicaSet) áĽá áá á áľáááľ ááľá°áŤá¨á (áĽáá° á¨áŁáľ ááľáááľ ááá áĽáá° ááľááł áááł, áááľá á áľááŤ). áŁá áŞá á á áá áá á áááŤáá˝ á¨á°áá°á á¨áłááą ááľáá˝á á¨áá°áŤá¨áľ á˝ááłáá˝á áŤá°ááEvenPodsSpreading
PodAffinity
иPodAntiAffinity
, á áá ááłá áá á áľá°áłáłáŞáá˝ á¨á°áťá ááĽáĽá ááľá áľ, áá á áááľ á¨á°áťá á¨áá°á á°ááááľ áĽá á¨á°ááťá¸ á¨ááĽá¨áľ áááł áááľ áá. ááááŽá˝ - ááľáĽááá . - á°á áá BestFit ááᲠв á¨á°á á¨á á¨á á
á áŹáž á
áľá፠á°ááŁá á ááľ áĽá
áľ áá
áľ, áá
á ááá
áłá á á ááá
á˘á áá¸á ("á áŽáá´ááá ááľáĽ áá¸á") ááááąá áá°á¨áłá ááĽáśá˝ (ááŽá°á°á, áá á°á¨ áľááľáł) áĽá á¨á°áŤáá (áĽáá° áááŠ). áá°á¨á᪠ááááŽá˝, áááá¨áąááá .
áááááĽá ááľáŤáᥠááἠáĽááľ ááá˛á á¨áá ááá á ááľ (á ááĽáł á ááŁáŞ áááááĽá á ááŞ) áĽá á¨á á ááá áá (á áááááĽá ááŤáááŤ)
á á°á¨ááŞá,
ááá˝ áááŚá˝
áĽáá˛áá á Kubernetes 1.16 áááá
ááľáĽ áἠáá á á°ááłá˝ááľ á
á á°á¨ááŞá, á¨áá¨á°ááľ áááŚá˝ ááłáá áá˝áá:
- á¨áááśááľ áľáá áááľ Ń
ááá á¨áŠá¤áľá áááááŤáá˝ ááá áľááá° ááá (á áá áľáŞáľ)áŁááľá RunAsUserName
ááááśááľ ááŤáŁáá˝ (á áá áľáŞáľ),ááťáťá á áĄáľá á¨áá°áłá°á á áááááľ áá፠(gMSA) áĽáľá¨ á¨á áľá-ááááł áľáŞáľ áľá¨áľ áá°ááááŁáľáá á vSphere áĽáŤáá˝ á°áŤ/ áŤáŤááᢠ-
áĽáá°áá áĽá á áá á¨áá á á¤áá á ááážá˝ ááľáĽ á¨ááἠáá¨ááŞáŤ áá´. á¨áá áá°á á¨á¤á˝á˛á˛á ááŁáŞáŤ ááĽááá á áááá˝ áĽá á áá áááᣠáá á á ááŁáŞááľ áĽááłááá á¨áá¨ááááľá á ááŤáł áá°áŚá˝á áĽááᢠ"ááá˝ áĽáŤá áááá " á áá áá°áŤá: á°áá áá˝ á ááá ááAccept-Encoding: gzip
á áááą ááľáĽ áá á ᨠ128 áŞáŁ á áá á¨áá GZIP-á¨á°á¨áá ááá˝ ááá áá. Go á°áá áá˝ áááá á (á¨áááááá áŤáľá á ááá) áá°áááᣠáľááá áá˛áŤáá á¨áľáŤáá ááááľ áŤáľá°áááᢠ(áááá˝ ááááá˝ áľáá˝ ááťáťáŤ ááŤáľááá áá˝ááá˘) -
á¨ááťá áá á ááŤá áááŞáŤáá˝ áá á áááľá¨áľ HPA ᨠ/ áá° áᎠááľáá˝ áááŁá á. á áááŽá˝/ááŤá áááŞáŤáá˝ áá á°ááľáá°á á¨áááá á¨áááŁá¨áľáŤ áŤááá˝ áľáŤ á˛ááą ááĽáśá˝á áááá ἠá áŤáľ-á°á áá° 0 á ááá˝ áááŁá á áá˝ááᢠáá áŁá ᪠á á°áá á°áŤá°áá˝ á¨ááአáááŽá˝á ááá áá áĽá á¨á°ááŤáŠ á¨áľáŤ ááľ á°áŤá°áá˝ áĽááľ áŤááľ á¨áááŠáá˝ áĽááľ ááá áᥠááłáŽá˝ á áá ááá á áá áľá˘ - á á˛áľ á°áá á -
- ááááá˝ "á á ááá" ááłá¨áť. ááłáłáł (áááľá áááľ ááá) á ááá ááááŁáľ á¨á°áá°á ááá˘k8s.io/client-go/metadata.Client
metadata
) á¨áááľá°á ááĽáśá˝ áĽá á¨ááą áá á¨ááťáť á á°áŁá°áĽ áĽá á¨áŽáł áľáŤáá˝á áŤá¨áááᢠ- Kubernetes ááááĄ
á áá áá˝ááᢠáŤá áááľ ("á áĽáŽ á¨á°á°áŤ" á áá ááľáĽ) á¨á°áá á á áŤá˘áá˝ (á¨á áá áľáŞáľ)ᢠ- áá° kubeadm áááááŤ
áłááá á áá¨áŤ (á¨á áá áĽáŞáľ) ááááá˝á á¨áá ááľ á˝ááłinit
,join
иupgrade
. áŁáá˛áŤáá áĽáá´áľ áá áá áĽáá°áá˝á á¨á áá áá¨áą--experimental-kustomize
ᣠááľáĽ áááá¨áąááá . - á á˛áľ á¨áá¨á¨áť ááĽáĽ á apiserver -
, - áľá áááááą áá¨áá áá° áá áááá áŤáľá˝áááłá. á¨á¤áá á á ááááá á áá áŁáá˛áŤ á ááá˘readyz
--maximum-startup-sequence-duration
, áĽáá°áá ááááŠá áĽáá˛ááŁá አáŤáľá˝áááłá. - áááľ á Azure áŁá
áŞáŤáľ á¨á°á¨áá áłááá áᥠáľáá
á°ááááľ ááá˝ (á¨á°ááááľ ááá˝) áĽáá¨ááĽáľ áĄáľá á ááŤá (á áá) á á°á¨ááŞá Azure á ááááĄ--
á¨áá¨áá፠áľáá AAD áĽá ADFS; -
ááĽáŤáŞáŤ service.beta.kubernetes.io/azure-pip-name
á¨áááľ áááłá¨áŞáŤáá á¨á áἠá ááá áááĽááľ; -
ááľá á áá áśá˝LoadBalancerName
иLoadBalancerResourceGroup
.
-
- AWS á áá á ááá˘
áľáá áá˘á˘á¤áľ á áááśááľ áĽáá¨á°ááťá¸ EC2 á¤áá á áĽáŞáá˝DescribeInstances
. - Kubeadm á áá áŤáąá á¨áťá ááá˘
áá°á°áłá á¨CoreDNS áá á á¨CoreDNS áĽáŞáąá á˛áŤáťá˝áᢠ- áááľáŽá˝ ááá° á á°ááá
Docker ááľá ááľáĽ
á¨áá°áá ááá-á°ááá, áá á á¨áľá ááĽáśá˝á áłáŤáľááá áá á ááľá áĽáá˛áŤááą áŤáľá˝áááłá. áĽáá˛ááᣠááá° á¨ááá°áľ ááľáááá ááá°d2 áľáŞáľ áľáá. - Đ
áááľá°á Autoscaler 1.16.0 áĽáá° áá°á¨áłá ááľá á˛áľáľáŽ á áᣠáá° áá áá á°áááŻáᣠá¨á°áťáťá á ááťá¸áᣠá á˛áľ á¨á°áá á á áŤá˘áá˝á áłááá (DigitalOceanᣠMagnumᣠPacket)ᢠ- áĽá á áá á ááá/áĽáá áśááľáá ááľáĽ áŤá ááťáťáŤáá˝áĄ Go 1.12.9ᣠetcd 3.3.15ᣠCoreDNS 1.6.2.
PS
á áĽááá˝á áá áŤááĽáĄáĄ-
- ÂŤ
áŠá áááľáľ 1.15ᥠá¨á á˛áą ááá áá áá áááá˝ "; - ÂŤ
áŠá áááľáľ 1.14ᥠá¨á á˛áą ááá áá áá áááá˝ "; - ÂŤ
áŠá áááľáľ 1.13ᥠá¨á á˛áą ááá áá áá áááá˝ "; - ÂŤ
áŠá áááľáľ 1.12ᥠá¨á á˛áą ááá áá áá áááá˝ Âť.
ááá: hab.com