ื™ื ื˜ืจืึธื“ื•ืกื™ื ื’ Kubernetes CCM (Cloud Controller Manager) ืคึฟืึทืจ Yandex.Cloud

ื™ื ื˜ืจืึธื“ื•ืกื™ื ื’ Kubernetes CCM (Cloud Controller Manager) ืคึฟืึทืจ Yandex.Cloud

ืื™ืŸ ื”ืžืฉืš ืฆื• ื“ื™ ืœืขืฆื˜ืข CSI ืฉืึธืคืขืจ ืžืขืœื“ื•ื ื’ ืคึฟืึทืจ Yandex.Cloud, ืžื™ืจ ืึทืจื•ื™ืกื’ืขื‘ืŸ ืืŸ ืื ื“ืขืจ ืขืคึฟืŸ ืžืงื•ืจ ืคึผืจื•ื™ืขืงื˜ ืคึฟืึทืจ ื“ืขื ื•ื•ืึธืœืงืŸ - ื•ื•ืึธืœืงืŸ ืงืึธื ื˜ืจืึธืœืœืขืจ ืžืึทื ืึทื’ืขืจ. CCM ืื™ื– ืคืืจืœืื ื’ื˜ ื ื™ื˜ ื‘ืœื•ื™ื– ืคึฟืึทืจ ื“ื™ ืงื ื•ื™ืœ ื•ื•ื™ ืึท ื’ืึทื ืฅ, ืึธื‘ืขืจ ืื•ื™ืš ืคึฟืึทืจ ื“ื™ CSI ืฉืึธืคืขืจ ื–ื™ืš. ื“ืขื˜ืึทื™ืœืก ื•ื•ืขื’ืŸ ื–ื™ื™ึทืŸ ืฆื™ืœ ืื•ืŸ ืขื˜ืœืขื›ืข ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ื–ืขื ืขืŸ ืื•ื ื˜ืขืจ ื“ื™ ื“ื•ืจื›ืฉื ื™ื˜.

ื”ืงื“ืžื”

ืคืืจื•ื•ืืก ืื™ื– ื“ืึธืก?

ื“ื™ ืžืื˜ื™ื•ื•ืŸ ื•ื•ืึธืก ืคึผืจืึทืžืคึผื˜ื™ื“ ืื•ื ื“ื– ืฆื• ืึทื ื˜ื•ื•ื™ืงืœืขืŸ CCM ืคึฟืึทืจ Yandex.Cloud ื’ืึธืจ ืฆื•ื ื•ื™ืคืคืึทืœืŸ ืžื™ื˜ ื“ื™ ืฉื•ื™ืŸ ื“ื™ืกืงืจื™ื™ื‘ื“ ืื™ืŸ ืžืขืœื“ืŸ CSI ื“ืจื™ื•ื•ืขืจืก. ืžื™ืจ ื”ืึทืœื˜ืŸ ืคื™ืœืข Kubernetes ืงืœืึทืกื˜ืขืจื– ืคื•ืŸ ืคืึทืจืฉื™ื“ืขื ืข ื•ื•ืึธืœืงืŸ ืคึผืจืึทื•ื•ื™ื™ื“ืขืจื–, ืคึฟืึทืจ ื•ื•ืึธืก ืžื™ืจ ื ื•ืฆืŸ ืึท ืื™ื™ืŸ ื’ืขืฆื™ื™ึทื’. ืขืก ื™ืžืคึผืœืึทืžืึทื ืฅ ืคื™ืœืข ืงืึทื ื•ื•ื™ื ื™ืึทื ืกื™ื– "ื‘ื™ื™ืคึผืึทืกื™ื ื’" ื“ื™ ื’ืขืจืื˜ืŸ ืกืึทืœื•ืฉืึทื ื– ืคื•ืŸ ื“ื™ ืคึผืจืึทื•ื•ื™ื™ื“ืขืจื–. ื™ืึธ, ืžื™ืจ ื”ืึธื‘ืŸ ืึท ื’ืึทื ืฅ ืกืคึผืขืฆื™ืคื™ืฉ ืคืึทืœ ืื•ืŸ ื“ืึทืจืฃ, ืึธื‘ืขืจ ื“ื™ ื“ื™ื•ื•ืขืœืึทืคึผืžืึทื ืฅ ื‘ืืฉืืคืŸ ื•ื•ื™ื™ึทืœ ืคื•ืŸ ื–ื™ื™ ืงืขืŸ ื–ื™ื™ืŸ ื ื•ืฆื™ืง ืคึฟืึทืจ ืื ื“ืขืจืข ื™ื•ื–ืขืจื–.

ื•ื•ืึธืก ืคึผื•ื ืงื˜ ืื™ื– CCM?

ื˜ื™ืคึผื™ืงืึทืœืœื™, ืžื™ืจ ืฆื•ื’ืจื™ื™ื˜ืŸ ื“ื™ ืกื•ื•ื™ื•ื•ืข ืึทืจื•ื ืื•ื ื“ื– ืคึฟืึทืจ ื“ืขื ืงื ื•ื™ืœ ืคื•ืŸ ืึทืจื•ื™ืก - ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ื ื™ืฆืŸ Terraform. ืื‘ืขืจ ืžืืœ ืขืก ืื™ื– ืึท ื ื•ื™ื˜ ืฆื• ืคื™ืจืŸ ื“ื™ ื•ื•ืึธืœืงืŸ ืกื•ื•ื™ื•ื•ืข ืึทืจื•ื ืื•ื ื“ื– ืคื•ืŸ ืงื ื•ื™ืœ. ื“ื™ ืžืขื’ืœืขื›ืงื™ื™ื˜ ืื™ื– ืฆื•ื’ืขืฉื˜ืขืœื˜, ืื•ืŸ ืขืก ืื™ื– ืขืก ื•ื•ืึธืก ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“ ืงืงื.

ืกืคึผืึทืกื™ืคื™ืงืœื™, ืงืœืึธื•ื“ ืงืึธื ื˜ืจืึธืœืœืขืจ ืžืึทื ืึทื’ืขืจ ื’ื™ื˜ ืคื™ื ืฃ ื”ื•ื™ืคึผื˜ ื˜ื™ื™ืคึผืก ืคื•ืŸ ื™ื ื˜ืขืจืึทืงืฉืึทืŸ:

  1. ื™ื ืกื˜ืึทื ืกื™ื– - ื™ืžืคึผืœืึทืžืึทื ืฅ ืึท 1:1 ืฉื™ื™ื›ื•ืช ืฆื•ื•ื™ืฉืŸ ืึท ื ืึธื“ืข ื›ื™ื™ืคืขืฅ ืื™ืŸ Kubernetes (Node) ืื•ืŸ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืžืึทืฉื™ืŸ ืื™ืŸ ื“ื™ ื•ื•ืึธืœืงืŸ ืฉืคึผื™ื™ึทื–ืขืจ. ืคึฟืึทืจ ื“ืขื ืžื™ืจ:
    • ืคึผืœืึธืžื‘ื™ืจืŸ ืื™ืŸ ื“ื™ ืคืขืœื“ spec.providerID ืื™ืŸ ื“ื™ ื›ื™ื™ืคืขืฅ Node. ืœืžืฉืœ, ืคึฟืึทืจ OpenStack CCM ื“ืขื ืคืขืœื“ ื”ืื˜ ื“ื™ ืคืืœื’ืขื ื“ืข ืคึฟืึธืจืžืึทื˜: openstack:///d58a78bf-21b0-4682-9dc6-2132406d2bb0. ืื™ืจ ืงืขื ืขืŸ ื–ืขืŸ ื“ื™ ื ืึธืžืขืŸ ืคื•ืŸ ื“ื™ ื•ื•ืึธืœืงืŸ ืฉืคึผื™ื™ึทื–ืขืจ ืื•ืŸ ื“ื™ ื™ื™ื ืฆื™ืง UUID ืคื•ืŸ ื“ื™ ืกืขืจื•ื•ืขืจ (ื•ื•ื™ืจื˜ื•ืึทืœ ืžืึทืฉื™ืŸ ืื™ืŸ OpenStack) ืคื•ืŸ ื“ื™ ื›ื™ื™ืคืขืฅ;
    • ื“ืขืจื’ืึทื ื’ nodeInfo ืื™ืŸ ื“ื™ ื›ื™ื™ืคืขืฅ Node ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื“ื™ ื•ื•ื™ืจื˜ื•ืึทืœ ืžืึทืฉื™ืŸ. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืžื™ืจ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื‘ื™ื™ึทืฉืคึผื™ืœ ื˜ื™ืคึผ ืื™ืŸ AWS;
    • ืžื™ืจ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ื‘ื™ื™ึทื–ื™ื™ึทืŸ ืคื•ืŸ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืžืึทืฉื™ืŸ ืื™ืŸ ื“ื™ ื•ื•ืึธืœืงืŸ. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืื•ื™ื‘ ืึท ื›ื™ื™ืคืขืฅ Node ื’ืขื’ืื ื’ืขืŸ ืื™ืŸ ืึท ืฉื˜ืึทื˜ NotReady, ืื™ืจ ืงืขื ืขืŸ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืฆื™ ื“ื™ ื•ื•ื™ืจื˜ื•ืึทืœ ืžืึทืฉื™ืŸ ื™ื’ื–ื™ืกืฅ ืื™ืŸ ื“ื™ ื•ื•ืึธืœืงืŸ ืฉืคึผื™ื™ึทื–ืขืจ ื“ื•ืจืš providerID. ืื•ื™ื‘ ืขืก ืื™ื– ื ื™ืฉื˜ ื“ืึธืจื˜, ื•ื™ืกืžืขืงืŸ ื“ื™ ื›ื™ื™ืคืขืฅ Node, ืฐืขืœื›ืข ืจ ืฐืืœ ื˜ ืื ื“ืขืจ ืฉ ืคืืจื‘ืœื™ื‘ ืŸ ืื™ ืŸ ื“ืข ืจ ืงื ื• ืœ ืืฒื‘ื™ืง ;
  2. Zones - ืฉื˜ืขืœื˜ ื“ื™ ื“ื•ืจื›ืคืึทืœ ืคืขืœื“ ืคึฟืึทืจ ื“ื™ ื›ื™ื™ืคืขืฅ Node, ืึทื–ื•ื™ ืึทื– ื“ื™ ืกืงืขื“ื–ืฉื•ืœืขืจ ืงืขื ืขืŸ ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ ืึท ื ืึธื“ืข ืคึฟืึทืจ ื“ื™ ืคึผืึธื“ ืœื•ื™ื˜ ื“ื™ ืžืงื•ืžื•ืช ืื•ืŸ ื–ืึธื ืขืก ืื™ืŸ ื“ื™ ื•ื•ืึธืœืงืŸ ืฉืคึผื™ื™ึทื–ืขืจ;
  3. LoadBalancer - ื•ื•ืขืŸ ืงืจื™ื™ื™ื˜ื™ื ื’ ืึท ื›ื™ื™ืคืขืฅ Service ืžื™ื˜ ื˜ื™ืคึผ LoadBalancer ืงืจื™ื™ื™ืฅ ืึท ืžื™ืŸ ืคื•ืŸ ื‘ืึทืœืึทื ืกืขืจ ื•ื•ืึธืก ื•ื•ืขื˜ ืคื™ืจืŸ ืคืึทืจืงืขืจ ืคื•ืŸ ืึทืจื•ื™ืก ืฆื• ื“ื™ ืงื ื•ื™ืœ ื ืึธื•ื“ื–. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืื™ืŸ Yandex.Cloud ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ NetworkLoadBalancer ะธ TargetGroup ืคึฟืึทืจ ื“ื™ ืฆื•ื•ืขืงืŸ;
  4. ืžืึทืจืฉืจื•ื˜ - ื‘ื•ื™ืขืŸ ืึท ื ืขืฅ ืฆื•ื•ื™ืฉืŸ ื ืึธื•ื“ื–, ื•ื•ื™ื™ึทืœ ืœื•ื™ื˜ Kubernetes ืจืขืงื•ื•ื™ืจืขืžืขื ืฅ, ื™ืขื“ืขืจ ืคึผืึธื“ ืžื•ื–ืŸ ื”ืึธื‘ืŸ ื–ื™ื™ืŸ ืื™ื™ื’ืขื ืข IP ืึทื“ืจืขืก ืื•ืŸ ืงืขื ืขืŸ ื“ืขืจื’ืจื™ื™ื›ืŸ ืงื™ื™ืŸ ืื ื“ืขืจืข ืคึผืึธื“. ืคึฟืึทืจ ื“ื™ ืฆื•ื•ืขืงืŸ, ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ืึท ืึธื•ื•ื•ืขืจืœื™ื™ ื ืขืฅ (VXLAN, GENEVE) ืึธื“ืขืจ ืฉื˜ืขืœืŸ ืึท ืจื•ื˜ื™ื ื’ ื˜ื™ืฉ ื’ืœื™ื™ึทืš ืื™ืŸ ื“ื™ ื•ื•ื™ืจื˜ื•ืึทืœ ื ืขืฅ ืคื•ืŸ ื“ื™ ื•ื•ืึธืœืงืŸ ืฉืคึผื™ื™ึทื–ืขืจ:

    ื™ื ื˜ืจืึธื“ื•ืกื™ื ื’ Kubernetes CCM (Cloud Controller Manager) ืคึฟืึทืจ Yandex.Cloud

  5. ื‘ืึทื ื“ - ืึทืœืึทื•ื– ื“ื™ื ืึทืžื™ืฉ ืึธืจื“ืขืจื™ื ื’ ืคื•ืŸ ืคึผื•ื• ื ื™ืฆืŸ ืคึผื•ื•ืง ืื•ืŸ ืกืง. ื˜ื›ื™ืœืขืก, ื“ื™ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ืื™ื– ื’ืขื•ื•ืขืŸ ื˜ื™ื™ืœ ืคื•ืŸ CCM, ืึธื‘ืขืจ ืจืขื›ื˜ ืฆื• ื–ื™ื™ืŸ ื’ืจื•ื™ืก ืงืึทืžืคึผืœืขืงืกื™ื˜ื™ ืขืก ืื™ื– ืืจื™ื‘ืขืจื’ืขืคืืจืŸ ืฆื• ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืคึผืจื•ื™ืขืงื˜, Container Storage Interface (CSI). ืžื™ืจ ื”ืึธื‘ืŸ ื’ืขืจืขื“ื˜ ื•ื•ืขื’ืŸ CSI ืžืขืจ ื•ื•ื™ ืึทืžืึธืœ ะฟะธัะฐะปะธ ืื•ืŸ, ื•ื•ื™ ืฉื•ื™ืŸ ื“ืขืจืžืื ื˜, ืืคื™ืœื• ื‘ืืคืจื™ื™ื˜ CSI ืฉืึธืคืขืจ.

ื‘ื™ื– ืึทื”ืขืจ, ืึทืœืข ืงืึธื“ ื™ื ื˜ืขืจืึทืงื˜ื™ื ื’ ืžื™ื˜ ื“ื™ ื•ื•ืึธืœืงืŸ ืื™ื– ื’ืขื•ื•ืขืŸ ืœื™ื’ืŸ ืื™ืŸ ื“ื™ ื”ื•ื™ืคึผื˜ Git ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ืคื•ืŸ ื“ื™ Kubernetes ืคึผืจื•ื™ืขืงื˜ ื‘ื™ื™ k8s.io/kubernetes/pkg/cloudprovider/providers, ืึธื‘ืขืจ ื–ื™ื™ ื‘ืึทืฉืœืึธืกืŸ ืฆื• ืคืึทืจืœืึธื–ืŸ ื“ืขื ืจืขื›ื˜ ืฆื• ื“ืขืจ ื™ื ืงืึทื ื•ื•ื™ื ื™ืึทื ืก ืคื•ืŸ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ืึท ื’ืจื•ื™ืก ืงืึธื“ ื‘ืึทื–ืข. ืึทืœืข ืึทืœื˜ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทื ื– ื–ืขื ืขืŸ ืืจื™ื‘ืขืจื’ืขืคืืจืŸ ืฆื• ื‘ืึทื–ื•ื ื“ืขืจ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™. ืคึฟืึทืจ ื“ื™ ืงืึทื ื•ื•ื™ื ื™ืึทื ืก ืคื•ืŸ ื•ื•ื™ื™ึทื˜ืขืจ ืฉื˜ื™ืฆืŸ ืื•ืŸ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’, ืึทืœืข ืคึผืจืึธืกื˜ ืงืึทืžืคึผืึธื•ื ืึทื ืฅ ื–ืขื ืขืŸ ืื•ื™ืš ืืจื™ื‘ืขืจื’ืขืคืืจืŸ ืฆื• ื‘ืึทื–ื•ื ื“ืขืจ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™.

ื•ื•ื™ ืžื™ื˜ CSI, ืคื™ืœืข ื’ืจื•ื™ืก ื•ื•ืึธืœืงืŸ ืคึผืจืึทื•ื•ื™ื™ื“ืขืจื– ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ื“ื™ื–ื™ื™ื ื“ ื–ื™ื™ืขืจ CCMs ืฆื• ืœืขื•ื•ืขืจื™ื“ื–ืฉ ื•ื•ืืœืงื ืก ืื•ื™ืฃ Kubernetes. ืื•ื™ื‘ ื“ืขืจ ืกืึทืคึผืœื™ื™ืขืจ ื˜ื•ื˜ ื ื™ืฉื˜ ื”ืึธื‘ืŸ CCM, ืึธื‘ืขืจ ืึทืœืข ื“ื™ ื ื™ื™ื˜ื™ืง ืคืึทื ื’ืงืฉืึทื ื– ื–ืขื ืขืŸ ื‘ืืจืขื›ื˜ื™ื’ื˜ ื“ื•ืจืš ืึทืคึผื™, ืื™ืจ ืงืขื ืขืŸ ื™ื ืกื˜ืจื•ืžืขื ื˜ CCM ื–ื™ืš.

ืฆื• ืฉืจื™ื™ึทื‘ืŸ ื“ื™ื™ืŸ ืื™ื™ื’ืขื ืข ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ CCM, ืขืก ืื™ื– ื’ืขื ื•ื’ ืฆื• ื™ื ืกื˜ืจื•ืžืขื ื˜ ืคืืจืœืื ื’ื˜ ื’ื™ื™ืŸ ื™ื ื˜ืขืจืคื™ื™ืกื™ื–.

ะ˜ ื“ืึธืก ืื™ื– ื•ื•ืึธืก ืžื™ืจ ื”ืึธื‘ืŸ.

ื™ืžืคึผืœืขืžืขื ื˜ืึทื˜ื™ืึธืŸ

ื•ื•ื™ ื‘ื™ืกื˜ื• ื’ืขืงื•ืžืขืŸ ืฆื• ื“ืขื

ืžื™ืจ ืกื˜ืึทืจื˜ืขื“ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ (ืึธื“ืขืจ ื’ืึทื ืฅ, ืืคื™ืœื• ื ื•ืฆืŸ) ืžื™ื˜ ื’ืจื™ื™ื˜(!) ืงืงื ืคึฟืึทืจ Yandex.Cloud ืžื™ื˜ ืึท ื™ืึธืจ ืฆื•ืจื™ืง.

ืึธื‘ืขืจ, ืื™ืŸ ื“ืขื ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืžื™ืจ ื–ืขื ืขืŸ ืคืขืœื ื“ื™ืง:

  • ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ ื“ื•ืจืš JWT IAM ื˜ืึธืงืขืŸ;
  • ืกืขืจื•ื•ื™ืก ืงืึธื ื˜ืจืึธืœืœืขืจ ืฉื˜ื™ืฆืŸ.

ืื™ืŸ ื”ืขืกืงืขื ืžื™ื˜ ื“ืขื ืžื—ื‘ืจ (ื“ืœื™ืกื™ืŸ) ืื™ืŸ ื˜ืขืœืขื’ืจืึทื, ืžื™ืจ ืคืึธืจืงื˜ ื™ืึทื ื“ืขืงืก-ื•ื•ืึธืœืงืŸ-ืงืึธื ื˜ืจืึธืœืœืขืจ-ืคืึทืจื•ื•ืึทืœื˜ืขืจ ืื•ืŸ ืฆื•ื’ืขื’ืขื‘ืŸ ื“ื™ ืคืขืœื ื“ื™ืง ืคืึทื ื’ืงืฉืึทื ื–.

ืฉืœื™ืกืœ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ

ื“ืขืจื•ื•ื™ื™ึทืœ, CCM ืฉื˜ื™ืฆื˜ ื“ื™ ืคืืœื’ืขื ื“ืข ื™ื ื˜ืขืจืคื™ื™ืกื™ื–:

  • ื™ื ืกื˜ืึทื ืกื™ื–;
  • Zones;
  • LoadBalancer.

ืื™ืŸ ื“ืขืจ ืฆื•ืงื•ื ืคึฟื˜, ื•ื•ืขืŸ Yandex.Cloud ืกื˜ืึทืจืฅ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ืึทื•ื•ืึทื ืกื™ืจื˜ืข VPC ืงื™ื™ืคึผืึทื‘ื™ืœืึทื˜ื™ื–, ืžื™ืจ ื•ื•ืขืœืŸ ืœื™ื™ื’ืŸ ืึท ืฆื•ื‘ื™ื ื“ ืจืึธื•ื˜ืขืก.

LoadBalanacer ื•ื•ื™ ื”ื•ื™ืคึผื˜ ืึทืจื•ื™ืกืจื•ืคืŸ

ื˜ื›ื™ืœืขืก, ืžื™ืจ ื’ืขืคืจื•ื•ื•ื˜, ื•ื•ื™ ืื ื“ืขืจืข CCM ื™ืžืคึผืœืึทืžืึทื ืฅ, ืฆื• ืฉืึทืคึฟืŸ ืึท ืคึผืึธืจ ืคื•ืŸ LoadBalancer ะธ TargetGroup ืคึฟืึทืจ ืึทืœืขืžืขืŸ Service ืžื™ื˜ ื˜ื™ืคึผ LoadBalancer. ืึธื‘ืขืจ, Yandex.Cloud ื“ื™ืกืงืึทื•ื•ืขืจื“ ืื™ื™ืŸ ื˜ืฉื™ืงืึทื•ื•ืข ื‘ืึทื’ืจืขื ืขืฆื•ื ื’: ืื™ืจ ืงืขื ืขืŸ ื ื™ืฉื˜ ื ื•ืฆืŸ TargetGroups ืžื™ื˜ ื™ื ื˜ืขืจืกืขืงื˜ื™ื ื’ Targets (ื–ื•ื’ SubnetID - IpAddress).

ื™ื ื˜ืจืึธื“ื•ืกื™ื ื’ Kubernetes CCM (Cloud Controller Manager) ืคึฟืึทืจ Yandex.Cloud

ื“ืขืจื™ื‘ืขืจ, ื™ืŸ ื“ื™ ื‘ืืฉืืคืŸ CCM, ืึท ืงืึธื ื˜ืจืึธืœืœืขืจ ืื™ื– ืœืึธื ื˜ืฉื˜, ื•ื•ืึธืก ื•ื•ืขืŸ ืึทื‘ื“ื–ืฉืขืงืฅ ื˜ื•ื™ืฉืŸ Node ืงืึทืœืขืงืฅ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ืึทืœืข ื™ื ื˜ืขืจืคื™ื™ืกื™ื– ืื•ื™ืฃ ื™ืขื“ืขืจ ื•ื•ื™ืจื˜ื•ืึทืœ ืžืึทืฉื™ืŸ, ื’ืจื•ืคึผืขืก ื–ื™ื™ ืœื•ื™ื˜ ืฆื• ื–ื™ื™ืขืจ ื’ืขื”ืขืจืŸ ืฆื• ื–ื™ื›ืขืจ NetworkID, ืงืจื™ื™ื™ืฅ ื“ื•ืจืš TargetGroup ืื•ื™ืฃ NetworkID, ืื•ืŸ ืื•ื™ืš ืžืึธื ื™ื˜ืึธืจืก ืฉื™ื™ื›ื•ืช. ื“ืขืจื ืึธืš, ื•ื•ืขืŸ ืงืจื™ื™ื™ื˜ื™ื ื’ ืึท ื›ื™ื™ืคืขืฅ Service ืžื™ื˜ ื˜ื™ืคึผ LoadBalanacer ืžื™ืจ ืคืฉื•ื˜ ืฆื•ื˜ืฉืขืคึผืขืŸ ืึท ืคืึทืจ - ื‘ืืฉืืคืŸ TargetGroup ืฆื• ื ื™ื™ึท NetworkLoadBalanacerื‘ื™ืŸ.

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื ื™ืฆืŸ?

CCM ืฉื˜ื™ืฆื˜ Kubernetes ื•ื•ืขืจืกื™ืข 1.15 ืื•ืŸ ื”ืขื›ืขืจ. ืื™ืŸ ืึท ืงื ื•ื™ืœ, ืคึฟืึทืจ ืขืก ืฆื• ืึทืจื‘ืขื˜ืŸ, ืขืก ืจื™ืงื•ื•ื™ื™ืขืจื– ืึทื– ื“ื™ ืคืึธืŸ --cloud-provider=external ืื™ื– ื‘ืึทืฉื˜ื™ืžื˜ ืฆื• true ืคึฟืึทืจ ืงื•ื‘-ืึทืคึผื™ืกืขืจื•ื•ืขืจ, ืงื•ื‘-ืงืึธื ื˜ืจืึธืœืœืขืจ-ืคืึทืจื•ื•ืึทืœื˜ืขืจ, ืงื•ื‘-ืกืงืขื“ื–ืฉื•ืœืขืจ ืื•ืŸ ืึทืœืข ืงื•ื‘ืขืœืขืฅ.

ืึทืœืข ื ื™ื™ื˜ื™ืง ืกื˜ืขืคึผืก ืคึฟืึทืจ ื“ื™ ื™ื ืกื˜ืึทืœื™ืจื•ื ื’ ื–ื™ืš ื–ืขื ืขืŸ ื“ื™ืกืงืจื™ื™ื‘ื“ ืื™ืŸ ืจืขืึทื“ืžืข. ื™ื™ึทื ืžืึธื ื˜ื™ืจื•ื ื’ ื‘ื•ื™ืœื– ืึทืจืึธืคึผ ืฆื• ืฉืึทืคึฟืŸ ืึทื‘ื“ื–ืฉืขืงืฅ ืื™ืŸ Kubernetes ืคึฟื•ืŸ ืžืึทื ื™ืคืขืกืฅ.

ืฆื• ื ื•ืฆืŸ CCM ืื™ืจ ื•ื•ืขื˜ ืื•ื™ืš ื“ืึทืจืคึฟืŸ:

  • ืึธื ื•ื•ื™ื™ึทื–ืŸ ืื™ืŸ ื“ื™ ื‘ืึทืฉื™ื™ึทืžืคึผืขืจืœืขืš ื“ื™ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืื™ื“ืขื ื˜ื™ืคื™ืฆื™ืจืŸ (folder-id) Yandex.Cloud;
  • ืกืขืจื•ื•ื™ืก ื—ืฉื‘ื•ืŸ ืคึฟืึทืจ ื™ื ื˜ืขืจืึทืงื˜ื™ื ื’ ืžื™ื˜ ื“ื™ Yandex.Cloud API. ืื™ืŸ ื“ื™ ืžืึทื ื™ืคืขืกื˜ืึธ Secret ืื™ื– ื ื™ื™ื˜ื™ืง ืึทืจื™ื‘ืขืจืคื™ืจืŸ ืึธื˜ืขืจื™ื™ื–ื“ ืฉืœื™ืกืœืขืŸ ืคื•ืŸ ื“ื™ ืกืขืจื•ื•ื™ืก ื—ืฉื‘ื•ืŸ. ืื™ืŸ ื“ื™ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ ื“ื™ืกืงืจื™ื™ื‘ื“, ื•ื•ื™ ืฆื• ืฉืึทืคึฟืŸ ืึท ืกืขืจื•ื•ื™ืก ื—ืฉื‘ื•ืŸ ืื•ืŸ ื‘ืึทืงื•ืžืขืŸ ืฉืœื™ืกืœืขืŸ.

ืžื™ืจ ื•ื•ืขืœืŸ ื–ื™ื™ืŸ ืฆื•ืคืจื™ื“ืŸ ืฆื• ื‘ืึทืงื•ืžืขืŸ ื“ื™ื™ืŸ ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ ืื•ืŸ ื ื™ื™ืข ื™ืฉื•ื–ืื•ื™ื‘ ืื™ืจ ื˜ืจืขืคืŸ ืงื™ื™ืŸ ืคืจืื‘ืœืขืžืขืŸ!

ืจืขื–ื•ืœื˜ืึทื˜ืŸ ืคื•ืŸ

ืžื™ืจ ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ื ื™ืฆืŸ ื“ื™ ื™ืžืคึผืœืึทืžืขื ืึทื“ CCM ืื™ืŸ ืคื™ื ืฃ Kubernetes ืงืœืึทืกื˜ืขืจื– ืื™ืŸ ื“ื™ ืœืขืฆื˜ืข ืฆื•ื•ื™ื™ ื•ื•ืึธื›ืŸ ืื•ืŸ ืคึผืœืึทื ื™ืจืŸ ืฆื• ื™ืงืกืคึผืึทื ื“ ื–ื™ื™ืขืจ ื ื•ืžืขืจ ืฆื• 20 ืื™ืŸ ื“ื™ ืงื•ืžืขื ื“ื™ืง ื—ื•ื“ืฉ. ืžื™ืจ ืจืขืงืึธืžืขื ื“ื™ืจืŸ ื ื™ืฉื˜ ืฆื• ื ื•ืฆืŸ CCM ืคึฟืึทืจ ื’ืจื•ื™ืก ืื•ืŸ ืงืจื™ื˜ื™ืฉ ืง8ืก ื™ื ืกื˜ืึทืœื™ื™ืฉืึทื ื–.

ื•ื•ื™ ืื™ืŸ ื“ืขื ืคืึทืœ ืคื•ืŸ CSI, ืžื™ืจ ื•ื•ืขืœืŸ ื–ื™ื™ืŸ ืฆื•ืคืจื™ื“ืŸ ืื•ื™ื‘ ื™ืึทื ื“ืขืงืก ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ื ืขืžืขืŸ ืื•ื™ืฃ ื“ื™ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืื•ืŸ ืฉื˜ื™ืฆืŸ ืคื•ืŸ ื“ืขื ืคึผืจื•ื™ืขืงื˜ - ืžื™ืจ ื–ืขื ืขืŸ ื’ืจื™ื™ื˜ ืฆื• ืึทืจื™ื‘ืขืจืคื™ืจืŸ ื“ื™ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ืื•ื™ืฃ ื–ื™ื™ืขืจ ื‘ืงืฉื” ืฆื• ื”ืึทื ื“ืœืขืŸ ืžื™ื˜ ื˜ืึทืกืงืก ื•ื•ืึธืก ื–ืขื ืขืŸ ืžืขืจ ื‘ืึทื˜ื™ื™ึทื˜ื™ืง ืคึฟืึทืจ ืื•ื ื“ื–.

ืคึผืก

ืœื™ื™ืขื ืขืŸ ืื•ื™ืš ืื•ื™ืฃ ืื•ื ื“ื–ืขืจ ื‘ืœืึธื’:

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’