αααααα
ααααΈαααα
ααα ααααΈααααΆα
α ααα»α’αααΈααΆαααΆααα?
ααΆαααααα»αααααααα»αα±ααααΎαα’αα·αααα CCM αααααΆαα Yandex.Cloud ααΆαααααα»αααααααααΆααΆαα½αααΉαα’αααΈαααααΆααα·αααααΆαα½α
α αΎααα
αααα»α
ααΎ CCM ααΆα’αααΈ?
ααΆααααααΆ ααΎααααα
αααα·ααααΆααα»ααα·αααΎααααααΆααα
ααααα ααΈααΆααααα
- α§ααΆα ααααααααααΎ Terraform α ααα»αααααα½αααΆαααΆααααααΌαααΆααααα»αααΆααααααααααααα·ααΆααΆαααααα»ααα·ααααα½αααΎα ααΈα
ααααα. ααααααΆααααααααΌαααΆααααααααΌα α αΎαααΆααΊααΆααΆααααααααΌαααΆαα’αα»αααα
ααΆαα·ααα Cloud Controller Manager αααααααΌαα’ααααααααααααΆαααα ααα½αααααΆαααααααα
- ααααα» - α’αα»ααααααααΆαααααα 1: 1 αααΆαααααα»ααααΆαααα
αααα»α Kubernetes (
Node
) αα·ααααΆαααΈααα·αααα·ααα αααα»ααααα»αα αα»ααααααααααΆαααα αααααΆαααααααΎα:- ααααααααα»αααΆα
spec.providerID
αα αααα»αααααα»Node
. α§ααΆα ααα αααααΆαα OpenStack CCM ααΆααααααΆαααααααααΌα ααΆαααααααopenstack:///d58a78bf-21b0-4682-9dc6-2132406d2bb0
. α’αααα’αΆα ααΎαααΎααααααααααα’ααααααααααααΆααα αα·α UUID αααα½αααααααααΆαααΈααα (αααΆαααΈααα·αααα·ααα αααα»α OpenStack) ααααααα»α - ααααααααααα
nodeInfo
αα αααα»αααααα»Node
ααααααΆαα’αααΈαααΆαααΈααα·αααα·αα α§ααΆα ααα ααΎααααααΆαααααααα instance αααα»α AWS; - ααΎααα·αα·αααααΎαααααααΆααααααααΆαααΈααα·αααα·ααα
αααα»ααααα α§ααΆα αααααααα·αααΎααααα»αα½αα
Node
ααΆαα αΌααα αααα»ααααααα½ααNotReady
α’αααα’αΆα αα·αα·αααααΎαααΆααΎαααΆαααΈααα·αααα·αααΆααα αααα»ααααα»αα αα»ααααααααααΆααααααα¬ααproviderID
. ααααα·αααΎααΆαα·ααα ααΈααααα αα»αααααα»Node
αααααΉααα αααααα·ααααα»αα αααααααΆααααα αΌαα
- ααααααααα»αααΆα
- ααααα - αααααααααααΆααααααααΆααααααα»
Node
ααΎααααΈα±αααααααα·ααΈααααααααα’αΆα ααααΎαααΎαααααΆαααααααΆαα Pod ααααα ααΆαααααα αα·αααααααα αααα»ααααα»αα αα»ααααααααααΆαααα - LoadBalancer - αα
ααααααααΎαααααα»
Service
ααΆαα½αααααααLoadBalancer
αααααΎααααααααααα»αααααΆααααααΉαααΉαααΆαα ααΆα αααΈααΆααααα αα ααΆααααααΆααα αααααα α§ααΆα ααααα αααα»α Yandex.Cloud α’αααα’αΆα ααααΎNetworkLoadBalancer
ΠΈTargetGroup
αααααΆαααααααααααΆααααα; - ααααΌα - αααααΎααααααΆααααΆαααααΆαα ααΈααααα αααααΆααααααΌαααΆα Kubernetes ααααΈαα½ααααααΌαααααΆαα’αΆααααααΆα IP ααααΆαααααα½α α αΎαα’αΆα αα αααααααααααααααΆαα αααααΆαααααααααααΆααααα α’αααα’αΆα ααααΎαααααΆααααα½αααΎααααΆ (VXLAN, GENEVE) α¬αααααααΆααΆαααΆαααααΌααααααααΆαααα αααα»ααααααΆααα·αααα·αααααα’ααααααααααααΆαααα
- ααα·ααΆα - α’αα»ααααΆαα±ααααΆαααΆααααααΆαα·α PV ααΆααααααααααααΎ PVC αα·α SC α ααααΌα αα»αααΆααααααΊααΆααααααα½ααα CCM ααα»αααααααααΆαααααΆααααα»αααααΆαααα’ααα
αΆαααααααααΆ ααΆααααΌαααΆαααααΆααααααΌααα
ααααααααΆα
ααααα‘αααα½αααΊ Container Storage Interface (CSI)α ααΎαααΆααα·ααΆαα’αααΈ CSI α
αααΎαααΆααααα
ααΆαααααα α αΎαααΌα αααααΆααααααΆαααα½α ααα αΎα ααΌααααΈααααΆαα ααααααΆα αααααα·ααΈαααααΆ CSI α
ααΈαα»α ααΌαααΆααα’αααααααααΎα’ααααααααααΆαα½ααααααΆαααΈααΆαααα
αααα»αααααΆαα Git ααααΆαααααααααα Kubernetes αα
k8s.io/kubernetes/pkg/cloudprovider/providers
ααα»αααααα½αααααΆααααααα
α
α·αααααααααααΆα
αααααααΆαααααΆααα’αΆαααα’α½ααααα»αααΆαααααΎααΆαααΆαα½αααΌαααααΆαααΌααααααα½αα ααΆαα’αα»ααααα
αΆααααΆααα’ααααααΌαααΆαααααΆααααααΌααα
ααΌα αα ααΉα CSI α’ααααααααααααΆαααααααΆα αααΎαααΆααα ααΆ CCMs αααααα½ααααα½α α αΎα ααΎααααΈααααΎααααΆααααααα ααΎ Kubernetes α ααααα·αααΎα’ααααααααααααααα·αααΆα CCM ααα»αααααα»αααΆαα αΆαααΆα αααΆααα’ααα’αΆα ααααΆαααΆαααα API αααα’αααα’αΆα α’αα»αααα CCM ααααααα½αα―αααΆαα
ααΎααααΈαααααααΆαα’αα»ααααααααΆααααααα’ααααα CCM ααΆαααααααααΆαααααα»αααΆαα’αα»αααα
Π
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ
ααΎα’αααααααααααααααααΆ
ααΎαααΆαα
αΆααααααΎαααΆαα’αα·αααααα (α¬αααα»ααα
αα·αααΌααααΈααααααΎ) ααΆαα½α
ααααααΆαααΆααααα αα αααα»αααΆαα’αα»ααααααα ααΎααα·αααΆαααΆαααααααα
- ααΆααααααααααΆααααΆαααααΉαααααΌαααΆαααααα·αα·ααααααααΆ JWT IAM;
- ααΆαααΆααααα§ααααααααααΆααααΆααααα
αααααααααΆαα½αα’ααααα·αααα (ααΈααΈαααΈα) αα αααα»α Telegram ααΎαααΆαααααα yandex-cloud-controller-manager α αΎαααΆααααααααα»αααΆααααααΆααα
ααααααβαα·ααα
αα αα α»αααααα CCM ααΆααααα ααα»α αααααΆααααΌα ααΆααααααα
- ααααα»;
- ααααα;
- LoadBalancer.
αα αααα’ααΆαα αα αααααα Yandex.Cloud α αΆααααααΎαααααΎααΆαααΆαα½ααααααααΆα VPC ααααα·αααααα ααΎαααΉαααααααα ααα»α αααααΆαααα½αα ααααΌα.
LoadBalancer ααΆαααα αΆαααααα αααα
ααΆααααΌα ααΎαααΆαααααΆααΆα ααΌα
ααΆααΆαα’αα»αααα CCM αααααααα ααΎααααΈαααααΎαααΌ LoadBalancer
ΠΈ TargetGroup
αααααΆααααααΆα Service
ααΆαα½ααααααα LoadBalancer
. ααααααΆαααΆααααα Yandex.Cloud ααΆαααααΎααααααααααα½αα±ααα
αΆααα’αΆαααααααα½α: α’ααααα·αα’αΆα
ααααΎααΆαααα TargetGroups
ααΆαα½αααΉαααΆαααααααα Targets
(ααΌ SubnetID
- IpAddress
).
ααΌα
αααα αα
ααΆααααα»α CCM αααααΆααααααΎα α§ααααααααααΆαα½αααααΌαααΆαααΎαααααΎαααΆα ααααα
ααααααααααα»ααααΆααααααΌα Node
αααααΌαααααααΆαα’αααΈα
ααα»α
αααααΆααααΆααα’αααα
ααΎαααΆαααΈααα·αααα·αααΈαα½αα ααΆααααΆαααα»ααα
ααΆααααααα·αααα·αααααα½αααααΆααααΆαα NetworkID
, αααααΎαβαααβ TargetGroup
αα
ααΎ NetworkID
αα·αααΆαααΆαααΆαααΆααααααααααααα αααααααααααα
ααααααααΎαααααα»αα½αα Service
ααΆαα½ααααααα LoadBalanacer
ααΎαααααΆααααααααΆααααΌαα’αααΈαααααΆααααααΎαααΆαα»α TargetGroup
αα
ααααΈ NetworkLoadBalanacer
αααα»αα
ααΎααααΎααΌα ααααα ααΎααααΈα αΆααααααΎαααααΎ?
CCM ααΆαααα Kubernetes αααα 1.15 αα·ααααααααΆααααα αα
αααα»αα
ααααααα½α ααΎααααΈα±ααααΆααααΎαααΆα ααΆααΆαααΆααααααΆαα· --cloud-provider=external
ααααΌαααΆαααααααα
true
αααααΆαα kube-apiserver, kube-controller-manager, kube-scheduler αα·α kubelets ααΆααα’ααα
ααα αΆαα
αΆαααΆα
αααΆααα’αααααααΆααααΆαααα‘αΎααααα½αααΆααααΌαααΆααα·αααααΆαα
αααα»α
ααΎααααΈααααΎ CCM α’αααααααΉαααααΌαααΆα:
-
α ααα’α»ααααα αΆα αα αααα»α manifest αααααα’ααααααααΆααα (folder-id
) Yandex.Cloud; - ααααΈααααΆαααααααααΆααα’ααααααααααΆαα½α Yandex.Cloud API α αα
αααα»αααα
ααααΈαααααααΆααα
Secret
ααΊα αΆαααΆα αααααααααααααΆαααΆαα’αα»ααααΆα ααΈααααΈααααΆααααα αα αααα»αα―αααΆαααΆααα·αααααΆ , αααααααααΎαααααΈααααΆαααα αα·αααα½αααΆαααα
ααΎαααΉαααΈαααΆααααα»αααΆαααα½αααΆαααα·αααααα’ααααα’ααα αα·α
αααααα
ααΎαααΆαααααΎααααΆαα CCM αααααΆαα’αα»αααααα αααα»αα ααααα Kubernetes α ααα½αααααΆααααα»αααααααααΈααααααΆα ααααααααααα α αΎααααααααΉααααααΈαα ααα½ααααααα½αααααα 20 αα αααα»αααααΆααα»ααααα αα αα α»αααααα ααΎααα·αααααΆαα±ααααααΎ CCM αααααΆααααΆαααα‘αΎα K8s αα αα·αααααΆααααα
ααΌα αα αααα»αααααΈαα CSI ααΎαααΉαααΈαααΆαααααα·αααΎα’αααα’αα·αααααα Yandex ααα½αααααΆαα’αα·αααααααα·αααΆαααΆααααααααααααα - ααΎαααααααααα½ααα½α ααΆααααα ααΎααααΈαααααααααΆααααΆαααααΎαααααα½αααααΎααααΈαααααααΆαααΆαα½αααΉααα·α αα ααΆααααααΆαααααααα αααΎαααΆαααΎαα
PS
ααΌαα’αΆαααααααα ααΎαααααααααααΎαα
- Β«
αααα·αααααααααααΎααααα»αααΆαα’αα·αααααααααααα·ααΈαααααΆ CSI αα αααα»α Kubernetes αααααΆαα Yandex.Cloud Β» - Β«
ααΎααΆααΆααααα½α αα·αααΆααααα½ααααα»αααΆααααα αα ααααα Kubernetes αα? αααααΆαβααααα·ααααα·αα addon Β» - Β«
ααΆααααααΈα αα·ααααααα Kubernetes (αααΆαααΆαααααΌαα αα·αααΈααα’αΌ) "α
ααααα: www.habr.com