αααβααα
ααααααΆααααααααΎααΎααααΈαααα
ααααααΆαααααααααΌαααΆαααα
ααααΈ
α
αΌαα
αΆααααααΎαααΆαα½αααΉαααΆαααααΆαααααααΆαααα½αααΈ SIG cluster-lifecycleα α
ααααααααΆαααααΆααααα Kubernetes (α¬ααΎααααΈα±ααα
αααΆααααΆααααΆααα»α ααΆαααΆαααααααΆα HA ααααααα
αααααααα½αα―α) ααΊα₯α‘αΌαααα kubeadm
(init
ΠΈ join
) αα·ααΆαα±ααααααΈαααααΆααααΏααααα
- αα·ααααΆαααααααααααααΎαααα αααααααααΌαααΆαααααααα αααααΆαα;
- αααααΆααβααααααΆαβααβααΆαβααααΎβα
ααααα etcd αα
βαααα»αβα
ααααα K8s (α§. αααα
αΆααβααΆαα’αΆαααααβααΆααααα
βαααβααΆαβααΈαα»α)
etcd-operator ; - α αααααα―αααΆαααΆαααααααααααΆαααααΆααααααΆαααααα»αααααααα»αααΆααααα ααααααααααΌαααΆαααααααα ααΆαααααααααααα’ααα±αααα α»α (αα αααα’ααΆαα ααΆααααΌαααΆαααααααα»αααΎααααΈαα»αααααΆααααΆαα’αΆαααααααα ααα»αααααα·αααααα ααααΆααααΆαααααα)α
ααααΆααααααααααα
ααααα Kubernetes HA αααααΎαααΆαα½α kubeadm
ααααααΆααααα’α·αααααΆαα’αα»ααααα’αΆα
ααααΆααα
αααα»α
ααΆα API
αααα»αααΆαααΆα apply
α αΎααα·ααΆαααΆααΌαα
ααΆααααααααααααααα»αααααΆα kubectl
αα
αααα»α apiserver α α’αααα’αα·αααααααααα½αα―ααααααααααΆαααααΈα’αααΈααΆααααααα
α
α·ααααααααα½αααααααα·ααΆαααΆ kubectl apply
- αααααααΆααΌαααααΆαααααΆαααααΎααΆαααΆαα½αααΆαααααααα
αααα»α Kubernetes αααααΆαααΆαααΆααααα "ααΆαααααααααααα α»α αα·ααα·ααΆααααα»αααΆααα½ααα»α" ααΌα
αααααα»αααΆααααα
αΆαααΆα
αααααΌαααΆαααααααααααΆαα·α α αΎαααααααα
ααααα αααααααΆα α§ααΆα αααααΆαααα αα·αα
αααΆααααΆαααααααα αΆαααααΆααααααααααααα
ααααααΆααααα’α·αα’αααΈααΆαα’αα»ααααααΆααα
αααα»α
ααα·αααΆααα
αααα»αααααα’αΆααα αααΆ kubectl
) α’αα»ααααααΆααααααΆαααα
ααΆαα’ααα (αααα»α kubectl create
ΠΈ kubectl apply
) αα·αα
ααα―αααΆαααΆααααααααΆααα (kubectl explain
) ααααααΆααααα’α·α - αααα»α
αααααα ααα»αααααΆαααααΆαα O_APPEND
(ααα»αααααα·ααααααα O_TRUNC
) ααΎααααΈαααααΆαααΆαααΆααααααααααα ααα»αααα»αααααΆαααΆααα½αα
ααα½α αα·αααΎααααΈααΆαααΆααααα½αααααΆαααΆαααααααα ααα»ααΆαα½αααΉαα§αααααααααΎααααΆααααΆααααα
αααααΆααααΆαααααα·αα
ααααααα
αααα»αααα·αααα Kubernetes API ααΆα’αΆα
ααααΌαααΆαααααααααΆααααΆαα
αααα»α PodSandbox
ΠΈ PodSandboxStatus
runtime_handler
ααΎααααΈαααααααΆααααααΆαα’αααΈ RuntimeClass
αα
αααα»α pod (α’αΆαααααααα’αααΈααΆαα
αααα»αα’αααααα’αααΈ AdmissionReview
αα½αααααΆααααα ααΈαααα»αα
αααΆαα Admission Webhooks α₯α‘αΌαααα
ααΆααααα»α
PersistentLocalVolumes
subPath
subPathExpr
αααα₯α‘αΌααααααααΌαααΆαααααΎααΎααααΈαααααααααααααααα
ααααΆαα αα»αααΆααααααΆααααα αΆααααα½αααααΌααα
αααα»α Kubernetes 1.11 ααα»αααααααααΆαα 1.14 ααΆαα
αααααα·ααααα»αααααΆαααΆαααααα’αΆααα αααΆα
ααΌα αα ααΉαααΆαα ααααααΆα Kubernetes αα»αααα ααΆαααααΆααααααΌαααααΆαααααΆα αααΎαααααΌαααΆαααααΆααααααΆαα CSI (Container Storage Interface) ααααααα»αααα’αα·αααααααΆααααααα
CSI
ααΆαααααΆαααΆα’αΆα
ααααΎααΆα (ααΆααααααα½αααααααα’αΆααα αααΆ) ExpandCSIVolumes
ααααΌα
ααΆααΆαα’αΆα
ααααΆαααααΆαααΆαααααααααΆααααααα·ααααα·ααΆαααααα
αααα»ααααααα·ααΈαααααΆ CSI ααΆααααΆαααα½αα
αααααααα·ααααα½αααααααααΆαα CSI αα
αααα»αααααα’αΆααα αααΆ - CSIInlineVolume
α
αααααααΆααααααααα·αααα
ααΆααααΆαααΆααα·αααααααα
αααα»α "αααααααΆααααα»α" αα Kubernetes ααΆααααααΉα CSI ααααα·αα’αΆα
ααΎαααΎαα
ααααα’αααααααΎααααΆααα
α»αααααα (α’αααααααααααααααααααα) ... αα
αα
α»ααααααααα α’αααα’αα·ααααααααααΌαααΆααααααα±ααααΆααααααααααΈααααααααα·ααΈαααα½αααΆααααα»αααΈαα½ααα αα½α - "αα
αααα»α αα·ααΈα
αΆααβ αα
ααΆααααα»α K8s codebase (in -tree) αα·αααΈααΈα - ααΆααααααα CSI ααααΈ (ααΌαα’αΆαααααααα’αααΈααΆ ααΆα§ααΆα ααα αααα»α
ααΆααα’αααααααΆαα±ααααΆααα·ααααααΆααααα’αΆααα αααΆααΆαααα
ααΎαααΈαααααα ααΆαααΆαααααααααΆααα§ααααααααααααΆααααΆαα½α CSI (CSIBlockVolume
)
ααααΆαα/ααΌααα‘αα
ααααα’αΆααα αααΆααααΌαααΆααααα αΆα /metrics/resource/v1alpha1
. αα»αααααΆααααααααααααααααααα’αααα’αα·αααααα
ααΆααα½αα±ααα αΆααα’αΆααααααααααΆααααΆαα: αααααΈααΆα’αααααααααααααααΆαα’αα»ααααα αααΆααααΆααααα ααα»α αααα αα gRPC αααα»αααΆαααααααααααΆαα½αααααΈααααααααααΆαααααΎααααΆαααααααα Prometheus (ααΌαααΎααααααααααααααααΆααα½αααΆαααααα)α’ααααα·ααααα αΌαα α·αααααααααα’ααααααααα Prometheus αααααΆαααααΆαααΆα’αααααΉαααΆαα αααΆααααΆαααααααααααααααα½ααα·αα·αααααααα αααα»ααα ααααα
"gRPC αα·αααααααΆααΆαα½αααααααααα½ααα·αα·αααααααΆαααααα Endpoint ααΉαααΆααααααααααααααΆααααααΆααααααΌααααααααα Metrics Server α¬αααΆαααΆαα»αααα½ααα·αα·αααααααα½ααααα αΌααααααααΆααααΆαα½αααΆα ααααΎαααΆαααααααα’ααααα Prometheus αα αααααααΎααααΆαααααααΆαααα αααα»α Metrics Server ααα’βαααααααααΆαα αααααΆαααα½αααΎαααΎααααΈα αΌαα α·ααα Prometheus ααΆα gRPC αααααΆααααααα±ααααΌαααΆαααα½ααα Prometheus αααΆαααΌααααΌααΆααα αααα»ααα ααααα αα αααααααααααα OpenMetrics ααΆααααααΆααααααααΆα ααΎαααΉαα’αΆα α αΌααα αα·αααααΎαααΆα gRPC ααΆαα½αααΉαααααααααα’ααααΎααααΌααΌα
ααΆαααααΎαααααααΆαα’αα»αααααααααααααα½αααααΆαααααΎααααΆαααααααα gRPC αα·α Prometheus αα
αααα»αα
ααα»α
αααα
αα Kubelet ααααΈαααααΆααααααααα ααααΆα αααααααα αα·αααααααΆααααα’α·αααααααααα’αΆα
ααααΆααα
αααα»α
αααα»αα ααααααΆαααααΆααααααΌαααααααααα
- Kubelet α₯α‘αΌαααα (αααααα)
ααααΆααΆααααααα αα»αααΊααααα αααα»αααααΆαααΆααα·αααααΆαα αα»ααααα αΆααααααΎαα‘αΎααα·α αα·ααα»αααααα·ααααα·ααΆαα - αα
αααααααΎ
α₯α‘αΌαααααα αα»αααΆααααα»αPodPresets
ααΆααααααα ααααααΆαααΌα ααααΆααΉααα»αααααααΆαααα - ααΌααα‘αα
ααΆαα αΆααααααΎαααααΎ usageNanoCores
ααΈα’αααααααααααα·αα· CRI αα·ααααααΆααααααΆαα αα·ααα»αααΊααααα ααΎααΈαααΌαααααα αααα·αα·αααααΆαα - ααααααααααααα·ααααα·ααΆα αα·αααααααΆαααααΆααααααααα₯α‘αΌααααααααΌαααΆααααααααΆαα
αααα»αααααΆα
kubernetes.io/os
ΠΈkubernetes.io/arch
ααααα»ααααΆαα (αααααααΈααααΆαα GA) α - αααααααΆααααα»αααΆααααααΆαααααα»αα’αααααααΎααααΆααααααααααααΆααααΆαααα½ααααααΆαααα»αααΊααααα
αααα»ααα (
RunAsGroup
, ααΆααααα αΆααααα½ααα αααα»αK8s 1.11 )ααααα·αααααα αα»ααααααααΆ (ααΎαααααΎαααΆαααΆαααααΆαααΎα)α - du αα·ααααααααααααΎαααα»α cAdvisor,
αααα½α ααΆαα’αα»αααα Go α
CLI
αα
αααα»α cli-runtime αα·α kubectl
α§ααΆα αααααααΆαααααΎααααΆααα―αααΆαααΆαααα
ααΎαααΈαααααα:
-
αααααα αααα»αααααΈαkubectl create cronjob
ααααααααααααααΆαα·ααΆαααααααα½αα―αα - Π
kubectl logs
α₯α‘αΌαβα’αααβα’αΆαααΎααααΈαααα αααααΆαα·-f
(--follow
αααααΆαααααααα ααα»ααααααΈα) αα·α-l
(--selector
αααααΆαααααα½αααααΆα) α - kubectl
αααααα α ααααβα―αααΆαβαααβααΆαβααααΎαααΎαβαααβααΆαβααααα - ααααααα»α
kubectl wait
ααΆααααααα ααα--all
ααΎααααΈααααΎαααΎαααααΆαααΆααα’αααα αααα»α namespace ααααααααααααΆααααααΆααααααΆααα
αααααααα
αααααααΆαααΆααααααααΆαααα½αααααΆαααΆααααα·αααΆα (GA)α
-
ααααΎαα αααα»αααΆααααααΆαααααα pod ααΎααααΈαααααααααααααααααααααααααα αααα»αααααΈααΆαααααααααα½ααααα pod;ReadinessGate
- ααΆαααΆαααααααααΆααααααααα (α
αααααααΆααααααααα·αααα α
ααΆ
);HugePages
-
CustomPodDNS ; - PriorityClass API
α’αΆαα·ααΆα Pod & Preemption .
ααΆαααααΆααααααΌααααααααααααααΆαααααΆααα αααα»α Kubernetes 1.14α
- αααααΆααα RBAC ααααΆαααΎααααα’αα»ααααΆαα±ααα
αΌαααααΎ API αααα αΎα
discovery
ΠΈaccess-review
α’αααααααΎααααΆαααααααααΆαααΆααααααααααΆαα (αα·αααΆααααααααααΆαα). - ααΆαααΆαααα CoreDNS ααααΌαααΆα
ααΆααΆ ααΈαα»α ααααα»ααααα ααΌα αααααα αααααααΎ kubeadm ααΎααααΈααΆαααααααΆαααΆ (CoreDNS) αα αααα»αα ααααα ααααΆααααααΌαααααααΎαααΆαααααΎααΈαα»α (nodeSelectors ααααΌαααΆαααααΎαααααΆααααΆααααααααα)α - ααΆαααααααα
ααΆαααααααα CoreDNS ααααΆαααΎαααΊα₯α‘αΌαααα
ααΆαααααΎααααΆαα αααααα·ααΈαααα½ααα αα»α αααα½αα±ααααααΌααααΈα ααααααα αααα»α CoreDNSαααααα readinessProbe αααααΆαααΆααα»αααααΆαααααα»ααα ααΎααααααααααα (αα·αααΆαααα½α ααΆαααααααΆααααααΆαααα)α - αα
αααα»α kubeadm αα
ααΎααααΆααααΆα
init
α¬upload-certs
,ααΆαααααΆαααΆα’αΆα ααααΎαα ααΆα αααα»ααα·ααααΆαααααααααααααΌαααΆαααΎααααΈααααΆααααααα αααααααΆααααΈαα ααΉαααΆααααααΆαα kubeadm-certs (ααααΎααα--experimental-upload-certs
). - ααααα’αΆααα αααΆααΆααααα αΆααααα½ααααααΆααααΆαααα‘αΎαααΈαααΌ
ααΆαααα gMSA (ααααΈααααΆααααααααααααααααα»α) - ααααΈαα·ααααα αααα»α Active Directory αααα’αΆα ααααΌαααΆαααααΎααααα»αααΊααααααααα - αααααΆαα G.C.E.
ααΆαααααΎα±ααααααα ααΆαα’αα·αααααΈα mTLS αααΆα etcd αα·α kube-apiserver α - ααΆαα’αΆααααααα αααα»ααααααα·ααΈαααααΆαααααΎ/α’αΆαααααα Go 1.12.1, CSI 1.1, CoreDNS 1.3.1, Docker 18.09 support in kubeadm α αΎααααα Docker API αααααΆααααα’αααααααΆα₯α‘αΌααααααΊ 1.26α
PS
ααΌαα’αΆαααααααα ααΎαααααααααααΎαα
- Β«
Kubernetes 1.13α αα·αααααΆαααΌαα ααααΆαα αααααααα·αααααΆααα Β» - Β«
Kubernetes 1.12α αα·αααααΆαααΌαα ααααΆαα αααααααα·αααααΆααα Β» - Β«
Kubernetes 1.11α αα·αααααΆαααΌαα ααααΆαα αααααααα·αααααΆααα Β» - Β«
Kubernetes 1.10α αα·αααααΆαααΌαα ααααΆαα αααααααα·αααααΆααα "α
ααααα: www.habr.com