แแแแ แแ แแแก แแแแ แซแแแแแแจแ
แจแแกแแแแแ
แฒ แแขแแ แแ แแก แแก?
แแแขแแแแแ, แ แแแแแแแช แแแแแซแฃแแแแก แจแแแแแฅแแแ CCM Yandex.Cloud-แแกแแแแก, แแแแแแแแ แแแแฎแแแแ แฃแแแ แแฆแฌแแ แแ แแแขแแแแแก.
แแแแแ แแขแฃแแแ แ แ แแ แแก CCM?
แ แแแแ แช แฌแแกแ, แฉแแแ แแแแแแแแแ แแแ แแแแก แแแแกแขแแ แแกแแแแก แแแ แแแแ - แแแแแแแแแ, Terraform-แแก แแแแแงแแแแแแ. แแแแ แแ แแแแฏแแ แกแแญแแ แแ แฉแแแแก แแแ แจแแแ แฆแ แฃแแแแแแแ แแแ แแแแก แแแ แแแ แแแกแแขแฃแ แแแแ. แแก แจแแกแแซแแแแแแแ แแแแแแแแกแฌแแแแแฃแแแ แแ แกแฌแแ แแ แแก แแแแฎแแ แชแแแแแ
แแแ แซแแ, Cloud Controller Manager แฃแแ แฃแแแแแงแแคแก แแแขแแ แแฅแชแแแก แฎแฃแ แซแแ แแแแ แขแแแก:
- แจแแแแฎแแแแแแ - แแฎแแ แชแแแแแแก 1:1 แฃแ แแแแ แแแแแก แแแแแซแแก แแแแแฅแขแก แจแแ แแก Kubernetes-แจแ (
Node
) แแ แแแ แขแฃแแแฃแ แ แแแแฅแแแ แฆแ แฃแแแแแแ แแ แแแแแแแ แจแ. แแแแกแแแแก แฉแแแ:- แจแแแแกแแ แแแแ
spec.providerID
แแแแแฅแขแจแNode
. แแแแแแแแแ, OpenStack CCM-แกแแแแก แแ แแแแก แแฅแแก แจแแแแแแ แคแแ แแแขแ:openstack:///d58a78bf-21b0-4682-9dc6-2132406d2bb0
. แจแแแแซแแแแ แแฎแแแแ แฆแ แฃแแแแแแแ แแ แแแแแแแ แแก แกแแฎแแแ แแ แแแแแฅแขแแก แกแแ แแแ แแก (แแแ แขแฃแแแฃแ แ แแแแฅแแแ OpenStack-แจแ) แฃแแแแแแฃแ แ UUID; - แจแแแแกแแแก
nodeInfo
แแแแแฅแขแจแNode
แแแคแแ แแแชแแ แแแ แขแฃแแแฃแ แ แแแแฅแแแแก แจแแกแแฎแแ. แแแแแแแแแ, แฉแแแ AWS-แจแ แแแแแแแ แแแกแขแแแชแแแก แขแแแก; - แฉแแแ แแแแแฌแแแแ แแแ แขแฃแแแฃแ แ แแแแฅแแแแก แแ แกแแแแแแก แฆแ แฃแแแแจแ. แแแแแแแแแ, แแฃ แแแแแฅแขแ
Node
แจแแแแแ แกแแฎแแแแฌแแคแแจแNotReady
, แจแแแแซแแแแ แจแแแแแฌแแแ, แแ แแก แแฃ แแ แ แแแ แขแฃแแแฃแ แ แแแแฅแแแ แกแแแ แแแ แฆแ แฃแแแแแแ แแ แแแแแแแ แจแproviderID
. แแฃ แแก แแฅ แแ แแ แแก, แฌแแจแแแแ แแแแแฅแขแNode
, แ แแแแแแช แกแฎแแแแแแ แแ แกแแแฃแแแแแ แแแ แฉแแแแแ แแแแกแขแแ แจแ;
- แจแแแแกแแ แแแแ
- แแแแแแ โ แแแแแแก แแแแแฅแขแแก แฌแแ แฃแแแขแแแแแแแก แแแแแแก
Node
, แ แแแ แแแแ แแแแ แจแแซแแแก Pod-แแกแแแแก แแแแแซแแก แแ แฉแแแ แฆแ แฃแแแแแแ แแ แแแแแแแ แจแ แ แแแแแแแแแกแ แแ แแแแแแแก แแแฎแแแแแ; - LoadBalancer โ แแแแแฅแขแแก แจแแฅแแแแกแแก
Service
แขแแแแLoadBalancer
แฅแแแแก แแ แแแแแ แแแแแแกแแ แก, แ แแแแแแช แแแแแ แแแแก แขแ แแคแแแก แแแ แแแแ แแแกแแขแฃแ แ แแแแแซแแแแกแแแ. แแแแแแแแแ, Yandex.Cloud-แจแ แจแแแแซแแแแ แแแแแแงแแแแNetworkLoadBalancer
ะธTargetGroup
แแ แแแแแแแแกแแแแแก; - แแแ แจแ แฃแขแ โ แแจแแแแแก แฅแกแแแก แแแแแซแแแก แจแแ แแก, แ แแแแแ Kubernetes-แแก แแแแฎแแแแแแแก แแแฎแแแแแ, แแแแแแฃแ แแแแก แฃแแแ แฐแฅแแแแแก แกแแแฃแแแ แ IP แแแกแแแแ แแ แแ แจแแแซแแแก แแแแแกแแแแ แกแฎแแ แแแแแ แฌแแแแแ. แแ แแแแแแแแกแแแแแก แจแแแแซแแแแ แแแแแแงแแแแ แแแแแคแแ แแแก แฅแกแแแ (VXLAN, GENEVE) แแ แแแแงแแแแ แแแ แจแ แฃแขแแแแชแแแก แชแฎแ แแแ แแแ แแแแแ แฆแ แฃแแแแแแแ แแ แแแแแแแ แแก แแแ แขแฃแแแฃแ แฅแกแแแจแ:
- แแแชแฃแแแแ - แแซแแแแ PV-แก แแแแแแแฃแ แ แจแแแแแแแก แกแแจแฃแแแแแแก PVC แแ SC แแแแแงแแแแแแ. แแแแแแแแ แแแแแ, แแก แคแฃแแฅแชแแ CCM-แแก แแแฌแแแ แแงแ, แแแแ แแ แแแแ แกแแ แแฃแแแก แแแแ แแแ แแแแแแแแ แชแแแแ แแ แแแฅแขแจแ, แแแแขแแแแแ แแก แจแแแแฎแแแก แแแขแแ แคแแแกแจแ (CSI). แฉแแแ แแ แแแ แแฎแแ แแแกแแฃแแ แแ CSI-แแ
ะฟะธัะฐะปะธ แแ, แ แแแแ แช แฃแแแ แแฆแแแแจแแแ, แแฃแแแแชแแแแแแแแกแฃแคแแแก CSI แแซแฆแแแ.
แแแ แ, แฆแ แฃแแแแแแ แฃแ แแแแ แแฅแแแแแแแก แงแแแแ แแแแ แแแแแแแกแแแฃแแ แแงแ Kubernetes แแ แแแฅแขแแก แแแแแแ Git แกแแชแแแจแ. k8s.io/kubernetes/pkg/cloudprovider/providers
, แแแแ แแ แแแ แแแแแฌแงแแแขแแก แแแแขแแแแแแแแ แแก แแแแ แแแแแก แแแแแกแแแ แแฃแจแแแแแก แฃแฎแแ แฎแฃแแแแแก แแแแ. แงแแแแ แซแแแแ แแแแฎแแ แชแแแแแแ แแแแแขแแแแแแ
แ แแแแ แช CSI-แก แจแแแแฎแแแแแจแ, แแแแ แแ แแแแแ แฆแ แฃแแแแแแแ แแ แแแแแแแ แแ แฃแแแ แแแแแ แแแฅแขแ แแแแแกแ CCM-แแแ Kubernetes-แแ แฆแ แฃแแแแแแก แแแแแงแแแแแแกแแแแก. แแฃ แแแแฌแแแแแแแก แแ แแฅแแก CCM, แแแแ แแ แงแแแแ แกแแญแแ แ แคแฃแแฅแชแแ แฎแแแแแกแแฌแแแแแแ API-แแก แกแแจแฃแแแแแแ, แแแจแแ แจแแแแซแแแแ แแแแแ แแแแแฎแแ แชแแแแแ CCM.
CCM-แแก แกแแแฃแแแ แ แแแแแแแแแขแแชแแแก แแแกแแฌแแ แแ แกแแแแแ แแกแแ แแแแแฎแแ แชแแแแแ
ะ
ะ ะตะฐะปะธะทะฐัะธั
แ แแแแ แแแฎแแแแ แแฅแแแแ
แฉแแแ แแแแแฌแงแแ แแแแแแแแ แแแ (แฃแคแ แ แกแฌแแ แแ, แแแแแงแแแแแแช แแ).
แแฃแแชแ, แแ แแแแฎแแ แชแแแแแแแจแ แฉแแแ แแแแแแแ:
- แแแแแแขแแคแแแแชแแ JWT IAM แขแแแแแแ;
- แกแแ แแแกแแก แแแแขแ แแแแ แแก แแฎแแ แแแญแแ แ.
แแแขแแ แแแ แจแแแแแฎแแแแแ (แแแแกแแแ) Telegram-แจแ แแแแฎแกแแแแ yandex-cloud-controller-manager แแ แแแแแแแขแแ แแแแแ แแฃแแ แคแฃแแฅแชแแแแ.
แซแแ แแแแแ แแแฎแแกแแแแแแแแแ
แแแแแแแ, CCM แแฎแแ แก แฃแญแแ แก แจแแแแแ แแแขแแ แคแแแกแแแก:
- แจแแแแฎแแแแแแ;
- แแแแแแ;
- LoadBalancer.
แแแแแแแแจแ, แ แแแแกแแช Yandex.Cloud แแแแฌแงแแแก แแฃแจแแแแแก แแแคแแ แแแแแฃแแ VPC แจแแกแแซแแแแแแแแแแ, แฉแแแ แแแแแแแขแแแ แแแขแแ แคแแแกแก แแแ แจแ แฃแขแแแ.
LoadBalanacer, แ แแแแ แช แแแแแแ แ แแแแแฌแแแแ
แแแแแแแแ แแแแแ, แฉแแแ แแชแแแแแแแแ, แแกแแแ แ แแแแ แช แกแฎแแ CCM แแแแฎแแ แชแแแแแแแแ, แจแแแแแฅแแแ แฌแงแแแแ LoadBalancer
ะธ TargetGroup
แงแแแแแกแแแแก Service
แขแแแแ LoadBalancer
. แแฃแแชแ, Yandex.Cloud-แแ แแฆแแแแฉแแแ แแ แแ แกแแแแขแแ แแกแ แจแแแฆแฃแแแ: แแฅแแแ แแ แจแแแแซแแแแ แแแแแแงแแแแ TargetGroups
แแแแแแแแแแ Targets
(แฌแงแแแแ SubnetID
- IpAddress
).
แแแ แแแแ, แจแแฅแแแแแ CCM-แแก แจแแแแแ, แแแแฅแแแแแแแ แแแแขแ แแแแ แ, แ แแแแแแช แแแแแฅแขแแแแก แจแแชแแแแกแแก Node
แแแ แแแแแก แแแคแแ แแแชแแแก แแแแแแฃแ แแแ แขแฃแแแฃแ แแแแฅแแแแแ แงแแแแ แแแขแแ แคแแแกแแก แจแแกแแฎแแ, แแฏแแฃแคแแแก แแแ แแแ แแแแฃแแ แแฃแแแแแแแแแก แแแฎแแแแแ NetworkID
, แฅแแแแก แแแแ TargetGroup
on NetworkID
แแ แแกแแแ แแแแแขแ แแแแแก แจแแกแแแแแแกแแแแก. แจแแแแแแแจแ แแแแแฅแขแแก แจแแฅแแแแกแแก Service
แขแแแแ LoadBalanacer
แฉแแแ แฃแแ แแแแ แแแแแแ แแแ แฌแแแแกแฌแแ แจแแฅแแแแ TargetGroup
แแฎแแแกแแแ NetworkLoadBalanacer
'แแแ .
แ แแแแ แแแแแฌแงแแ แแแกแ แแแแแงแแแแแ?
CCM แแฎแแ แก แฃแญแแ แก Kubernetes แแแ แกแแแก 1.15 แแ แฃแคแ แ แแแฆแแ แแแ แกแแแก. แแแแกแขแแ แจแ, แ แแ แแแฃแจแแแก, แกแแญแแ แแ แแ แแจแ --cloud-provider=external
แแแงแแแแแฃแแ แแงแ true
kube-apiserver-แแกแแแแก, kube-controller-manager-แแกแแแแก, kube-scheduler-แแกแแแแก แแ แงแแแแ แแฃแแแแแขแแกแแแแก.
แงแแแแ แกแแญแแ แ แแแแแฏแ แแแแแ แแแกแขแแแแชแแแกแแแแก แแฆแฌแแ แแแแ
CCM-แแก แแแแแกแแงแแแแแแแ แแกแแแ แแแแญแแ แแแแแ:
-
แแแฃแแแแแ manifest-แจแ แแแ แแฅแขแแ แแแจแ แแแแแขแแคแแแแขแแ แ (folder-id
) Yandex.Cloud; - แกแแ แแแกแแก แแแแแ แแจแ Yandex.Cloud API-แกแแแ แฃแ แแแแ แแแแแกแแแแก. แแแแแคแแกแขแจแ
Secret
แกแแญแแ แแแแขแแ แแแแแฃแแ แแแกแแฆแแแแแแก แแแแแชแแแ แกแแ แแแกแแก แแแแแ แแจแแแแ. แแแแฃแแแแขแแชแแแจแแแฆแฌแแ แแแ , แ แแแแ แจแแแฅแแแแ แกแแ แแแกแแก แแแแแ แแจแ แแ แแแแฆแแ แแแกแแฆแแแแแ.
แแแฎแแ แฃแแ แแแฅแแแแแ แแแแฆแแ แแฅแแแแ แแแแแฎแแแฃแ แแแ แแ
แจแแแแแแแ
แฉแแแ แแแงแแแแแ แแแแฎแแ แชแแแแแแฃแ CCM-แก แแฃแแแ แแแขแแก แฎแฃแ แแแแกแขแแ แจแ แแแแ แแ แ แแแแ แแก แแแแแแแแแแแจแ แแ แแแแแแแแ แแแแ แ แแชแฎแแแก 20-แแแ แแแแ แแแก แแแแแแแแ แแแแจแ. แแแแแแแ แแ แแแ แฉแแแ CCM-แแก แแแแแงแแแแแแก K8-แแแแก แแแแ แแ แแ แแขแแแฃแแ แแแกแขแแแแชแแแกแแแแก.
แ แแแแ แช CSI-แแก แจแแแแฎแแแแแจแ, แแแฎแแ แฃแแ แแแฅแแแแแ, แแฃ Yandex-แแก แแแแแแแแแ แแแ แแฆแแแแ แแ แแ แแแฅแขแแก แแแแแแแแ แแแแก แแ แแฎแแ แแแญแแ แแก - แฉแแแ แแแแ แแแ แ แแแแแแแขแแแแ แกแแชแแแ แแแแ แแแแฎแแแแแ, แ แแแ แแแแฃแแแแแแแแ แฉแแแแแแแก แฃแคแ แ แแฅแขแฃแแแฃแ แแแแชแแแแแก.
PS
แแกแแแ แฌแแแแแแฎแแ แฉแแแแก แแแแแแ:
- ยซ
แฉแแแแ แแแแแชแแแแแแ CSI แแ แแแแแ แแก แจแแแฃแจแแแแแแจแ Kubernetes-แจแ Yandex.Cloud-แแกแแแแก "; - ยซ
แแแแแแ แแ แแแกแแฎแแ แฎแแแแแแ Kubernetes แแแแกแขแแ แแก แแแแแแแแแ? แแชแฎแแแแแแ แแแแแแแขแแก แแแแ แแขแแ แก "; - ยซ
Kubernetes-แแก แแแคแแ แแแแแ แแ แจแแแกแแแ (แแแแแฎแแแแ แแ แแแแแ แแแแแ แแจแ) ".
แฌแงแแ แ: www.habr.com