Π ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΠΊ Π½Π΅Π΄Π°Π²Π½Π΅ΠΌΡ
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΠ°ΡΠ΅ΠΌ ΡΡΠΎ?
ΠΠΎΡΠΈΠ²Ρ, ΠΏΠΎΠ±ΡΠ΄ΠΈΠ²ΡΠΈΠ΅ Π½Π°Ρ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ CCM Π΄Π»Ρ Π―Π½Π΄Π΅ΠΊΡ.ΠΠ±Π»Π°ΠΊΠ°, ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΡΠΆΠ΅ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΌΠΈ Π²
Π§ΡΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΠ°ΠΊΠΎΠ΅ CCM?
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΌΡ ΠΏΠΎΠ΄Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΎΠΊΡΡΠΆΠ°ΡΡΡΡ Π½Π°Ρ ΡΡΠ΅Π΄Ρ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΈΠ·Π²Π½Π΅ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ Terraform. ΠΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΎΠΊΡΡΠΆΠ°ΡΡΠ΅ΠΉ Π½Π°Ρ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄ΠΎΠΉ ΠΈΠ· ΠΊΠ»Π°ΡΡΠ΅ΡΠ°. Π’Π°ΠΊΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π°, ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ
Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Cloud Controller Manager ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΈΠΏΠΎΠ² Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ:
- Instances β ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΠ²ΡΠ·Ρ 1:1 ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΡΠ·Π»Π° Π² Kubernetes (
Node
) ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ Π² ΠΎΠ±Π»Π°ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ:- Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΏΠΎΠ»Π΅
spec.providerID
Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅Node
. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Π΄Π»Ρ OpenStack CCM ΡΡΠΎ ΠΏΠΎΠ»Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΎΡΠΌΠ°Ρ:openstack:///d58a78bf-21b0-4682-9dc6-2132406d2bb0
. ΠΠΎΠΆΠ½ΠΎ Π²ΠΈΠ΄Π΅ΡΡ ΠΈΠΌΡ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ° ΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ UUID serverβΠ° (Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° Π² OpenStack) ΠΎΠ±ΡΠ΅ΠΊΡΠ°; - Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅ΠΌ
nodeInfo
Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅Node
ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ instance type Π² AWS; - ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π½Π°Π»ΠΈΡΠΈΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ Π² ΠΎΠ±Π»Π°ΠΊΠ΅. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Π΅ΡΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ
Node
ΠΏΠ΅ΡΠ΅ΡΡΠ» Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅NotReady
, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π»ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° Π² ΠΎΠ±Π»Π°ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ΅ ΠΏΠΎproviderID
. ΠΡΠ»ΠΈ Π΅Ρ Π½Π΅Ρ β ΡΠ΄Π°Π»ΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡNode
, ΠΊΠΎΡΠΎΡΡΠΉ Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡΡΠ°Π»ΡΡ Π±Ρ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ Π½Π°Π²Π΅ΡΠ½ΠΎ;
- Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΏΠΎΠ»Π΅
- Zones β Π·Π°Π΄Π°ΡΡ failure domain Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
Node
, ΡΡΠΎΠ±Ρ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ ΠΌΠΎΠ³ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ·Π΅Π» Π΄Π»Ρ PodβΠ° ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΠ΅Π³ΠΈΠΎΠ½Π°ΠΌ ΠΈ Π·ΠΎΠ½Π°ΠΌ Π² ΠΎΠ±Π»Π°ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ΅; - LoadBalancer β ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
Service
Ρ ΡΠΈΠΏΠΎΠΌLoadBalancer
ΡΠΎΠ·Π΄Π°ΡΡ Π½Π΅ΠΊΠΈΠΉ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΠΏΡΠ°Π²ΠΈΡ ΡΡΠ°ΡΠΈΠΊ ΠΈΠ·Π²Π½Π΅ ΠΊ ΡΠ·Π»Π°ΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Yandex.Cloud ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡNetworkLoadBalancer
ΠΈTargetGroup
Π΄Π»Ρ ΡΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ; - Route β ΡΡΡΠΎΠΈΡ ΡΠ΅ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ·Π»Π°ΠΌΠΈ, Ρ.ΠΊ. ΠΏΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ Kubernetes ΠΊΠ°ΠΆΠ΄ΡΠΉ pod Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠΉ IP-Π°Π΄ΡΠ΅Ρ ΠΈ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΡΡΡΡΠ°ΡΡΡΡ Π΄ΠΎ Π»ΡΠ±ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ podβΠ°. ΠΠ»Ρ ΡΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ²Π΅ΡΠ»Π΅ΠΉΠ½ΡΡ ΡΠ΅ΡΡ (VXLAN, GENEVE) ΠΈΠ»ΠΈ Π·Π°Π΄Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΡΠΌΠΎ Π² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°:
- Volume β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΊΠ°Π·ΡΠ²Π°ΡΡ PV, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ PVC ΠΈ SC. ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΡΠ²Π»ΡΠ»ΡΡ ΡΠ°ΡΡΡΡ CCM, Π½ΠΎ Π²Π²ΠΈΠ΄Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π±ΡΠ» Π²ΡΠ½Π΅ΡΠ΅Π½ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Container Storage Interface (CSI). ΠΡΠΎ CSI ΠΌΡ Π½Π΅ ΡΠ°Π·
ΠΏΠΈΡΠ°Π»ΠΈ ΠΈ, ΠΊΠ°ΠΊ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎΡΡ, Π΄Π°ΠΆΠ΅Π²ΡΠΏΡΡΡΠΈΠ»ΠΈ CSI-Π΄ΡΠ°ΠΉΠ²Π΅Ρ.
Π Π°Π½Π΅Π΅ Π²Π΅ΡΡ ΠΊΠΎΠ΄, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠΉ Ρ ΠΎΠ±Π»Π°ΠΊΠΎΠΌ, Π»Π΅ΠΆΠ°Π» Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Git-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Kubernetes ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ k8s.io/kubernetes/pkg/cloudprovider/providers
, Π½ΠΎ ΠΎΡ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΈΠ·-Π·Π° Π½Π΅ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΠ°Π±ΠΎΡΡ Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·ΠΎΠΉ. ΠΡΠ΅ ΡΡΠ°ΡΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±ΡΠ»ΠΈ Π²ΡΠ½Π΅ΡΠ΅Π½Ρ Π²
ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ CSI, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΡΡΠΏΠ½ΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΈ ΠΎΠ±Π»Π°ΡΠ½ΡΡ ΡΡΠ»ΡΠ³ ΡΠΆΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΡΠ²ΠΎΠΈ CCM Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±Π»Π°ΠΊΠΎΠ² Π² Kubernetes. ΠΡΠ»ΠΈ ΠΆΠ΅ CCM Ρ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° Π½Π΅Ρ, Π½ΠΎ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠ΅ΡΠ΅Π· API, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ CCM ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ.
Π§ΡΠΎΠ±Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ CCM, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ
Π
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ
ΠΠ°ΠΊ ΠΏΡΠΈΡΠ»ΠΈ ΠΊ ΡΡΠΎΠΌΡ
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΡ (Π° ΡΠΎΡΠ½Π΅Π΅ β Π΄Π°ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅) ΠΌΡ Π½Π°ΡΠ°Π»ΠΈ Ρ
ΠΠ΄Π½Π°ΠΊΠΎ Π² ΡΡΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π°ΠΌ Π½Π΅ Ρ Π²Π°ΡΠ°Π»ΠΎ:
- Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· JWT IAM-ΡΠΎΠΊΠ΅Π½;
- ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Service controllerβΠ°.
ΠΠΎ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡ Ρ Π°Π²ΡΠΎΡΠΎΠΌ (dlisin) Π² Telegram, ΠΌΡ ΡΠΎΡΠΊΠ½ΡΠ»ΠΈ yandex-cloud-controller-manager ΠΈ Π΄ΠΎΠΏΠΈΡΠ°Π»ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ
ΠΠ° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ CCM ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ:
- Instances;
- Zones;
- LoadBalancer.
Π Π±ΡΠ΄ΡΡΠ΅ΠΌ, ΠΊΠΎΠ³Π΄Π° Yandex.Cloud Π½Π°ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ VPC, ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Routes.
LoadBalanacer ΠΊΠ°ΠΊ Π³Π»Π°Π²Π½ΡΠΉ Π²ΡΠ·ΠΎΠ²
ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΌΡ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π»ΠΈ, ΠΊΠ°ΠΊ Ρ Π΄ΡΡΠ³ΠΈΡ
ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ 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 ΠΈ Π²ΡΠ΅Ρ
kubeletβΠΎΠ².
ΠΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ°Π³ΠΈ ΠΏΠΎ ΡΠ°ΠΌΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΎΠΏΠΈΡΠ°Π½Ρ Π²
ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ CCM ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ:
-
ΡΠΊΠ°Π·Π°ΡΡ Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° (folder-id
) Π―Π½Π΄Π΅ΠΊΡ.ΠΠ±Π»Π°ΠΊΠ°; - ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ Π°ΠΊΠΊΠ°ΡΠ½Ρ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ API Π―Π½Π΄Π΅ΠΊΡ.ΠΠ±Π»Π°ΠΊΠ°. Π ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ΅
Secret
Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠ»ΡΡΠΈ ΠΎΡ ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ°. Π Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈΠΎΠΏΠΈΡΠ°Π½ΠΎ , ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠ»ΡΡΠΈ.
ΠΡΠ΄Π΅ΠΌ ΡΠ°Π΄Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ ΠΈ
ΠΡΠΎΠ³ΠΈ
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ CCM ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π² ΠΏΡΡΠΈ Kubernetes-ΠΊΠ»Π°ΡΡΠ΅ΡΠ°Ρ Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π΄Π²ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π½Π΅Π΄Π΅Π»Ρ ΠΈ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΠΌ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΠΈΡ ΡΠΈΡΠ»ΠΎ Π΄ΠΎ 20 Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠΉ ΠΌΠ΅ΡΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ CCM Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΠΈ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΉ K8s Π² Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ.
ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ CSI, Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π΄Ρ, Π΅ΡΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π―Π½Π΄Π΅ΠΊΡΠ° Π²ΠΎΠ·ΡΠΌΡΡ Π½Π° ΡΠ΅Π±Ρ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° β ΠΌΡ Π³ΠΎΡΠΎΠ²Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΏΠΎ ΠΈΡ ΠΏΡΠΎΡΡΠ±Π΅, ΡΡΠΎΠ±Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΠΈΠ»ΡΠ½ΡΠΌΠΈ Π΄Π»Ρ Π½Π°Ρ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ.
P.S.
Π§ΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π² Π½Π°ΡΠ΅ΠΌ Π±Π»ΠΎΠ³Π΅:
- Β«
ΠΠ°Ρ ΠΎΠΏΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ CSI-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π² Kubernetes Π΄Π»Ρ Π―Π½Π΄Π΅ΠΊΡ.ΠΠ±Π»Π°ΠΊΠ° Β»; - Β«
ΠΠΎΡΠΎΠ²ΠΈΡΡ Kubernetes-ΠΊΠ»Π°ΡΡΠ΅Ρ ΠΏΡΠΎΡΡΠΎ ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎ? ΠΠ½ΠΎΠ½ΡΠΈΡΡΠ΅ΠΌ addon-operator Β»; - Β«
Π Π°ΡΡΠΈΡΡΠ΅ΠΌ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅ΠΌ Kubernetes (ΠΎΠ±Π·ΠΎΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ Π΄ΠΎΠΊΠ»Π°Π΄Π°) Β».
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com