KlusterKit: ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ Π·Π° ΠΎΠΏΡΠΎΡΡΡΠ²Π°Π½Π΅ Π½Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Kubernetes ΠΈ ΡΠ°Π±ΠΎΡΠ° Π²ΡΠ² ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΡΡΠ΅Π΄ΠΈ
ΠΠ½Π΅Ρ ΡΠΌΠ΅ ΡΠ°Π·Π²ΡΠ»Π½ΡΠ²Π°Π½ΠΈ Π΄Π° ΠΎΠ±ΡΠ²ΠΈΠΌ, ΡΠ΅ Platform9 Π΅ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ Klusterkit, ΠΏΠ°ΠΊΠ΅Ρ ΠΎΡ ΡΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°, ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·Π° Apache v2.0 Π½Π° GitHub.
ΠΠ°ΡΠΈΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Ρ ΡΠΎΡΡΡΠ΅Ρ Π² ΡΠ°ΡΡΠ½ΠΈ ΡΠ΅Π½ΡΡΠΎΠ²Π΅ Π·Π° Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ΡΡΠΎ Π½Π΅ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ (ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈ ΠΏΡΠΈΡΠΈΠ½ΠΈ). Π’Π΅Π·ΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈΡΠΊΠ°Ρ Π΄Π° ΡΠ΅ Π²ΡΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΎΡ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π°ΡΠ° Π½Π° Kubernetes ΠΈ Π΄Π° ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·ΠΈΡΠ°Ρ ΡΠ²ΠΎΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π΄Π° Π³ΠΈ Π²Π½Π΅Π΄ΡΡΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅Π½ΡΡΠΎΠ²Π΅ Π·Π° Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ΡΡΠΎ Π½Π΅ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π²ΡΠ½ΡΠ½ΠΈΡ ΡΠ²ΡΡ. Π’ΠΎΠ²Π° Π΅ ΠΌΡΡΡΠΎΡΠΎ, ΠΊΡΠ΄Π΅ΡΠΎ ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠ²Π° Klusterkit, ΠΊΠΎΠ΅ΡΠΎ ΡΠ»Π΅ΡΠ½ΡΠ²Π° ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ΡΠΎ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° K8s ΠΊΠ»ΡΡΡΠ΅ΡΠΈ Π²ΡΠ² ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ ΡΡΠ΅Π΄ΠΈ.
Klusterkit Π²ΠΊΠ»ΡΡΠ²Π° ΡΡΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π°Π΅Π΄Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠΎΡΠ΄Π΅Π»Π½ΠΎ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΆΠΈΠ·Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΡΠ» Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ ΠΊΠ»ΡΡΡΠ΅Ρ Π½Π° Kubernetes:
etcdadm , CLI Π·Π° ΠΎΠΏΡΠΎΡΡΠ΅Π½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° etcd ΠΊΠ»ΡΡΡΠ΅ΡΠΈ.nodeadm , CLI Π·Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠ·Π΅Π», ΠΊΠΎΠΉΡΠΎ ΡΠ°Π·ΡΠΈΡΡΠ²Π° kubeadm ΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π½Π° kubeadm.cctl , ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΆΠΈΠ·Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΡΠ» Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ°, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠΈΠ΅ΠΌΠ° Cluster API ΠΎΡ ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ° Π½Π° Kubernetes ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° nodeadm ΠΈ etcdadm Π·Π° Π±Π΅Π·ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎ Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅ Π½Π° Π²ΠΈΡΠΎΠΊΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΈ Kubernetes ΠΊΠ»ΡΡΡΠ΅ΡΠΈ Π² Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΠΈ Π΄ΠΎΡΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ ΡΡΠ΅Π΄ΠΈ.
ΠΠ°Π΅Π΄Π½ΠΎ ΡΠ΅Π·ΠΈ ΡΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π·Π°Π΄Π°ΡΠΈ:
- ΠΠ΅ΡΠ½ΠΎ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²ΠΈΡΠΎΠΊΠΎΠ΄ΠΎΡΡΡΠΏΠ΅Π½ etcd ΠΊΠ»ΡΡΡΠ΅Ρ ΠΈ ΡΠ°Π±Π»ΠΎ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Kubernetes Π²ΡΠ² ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΡΡΠ΅Π΄ΠΈ ΡΡΠ΅Π· Cluster API.
- ΠΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈΡ ΠΏΠ°Π½Π΅Π» Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° ΡΠ»Π΅Π΄ ΠΏΠΎΠ²ΡΠ΅Π΄Π° ΡΡΠ΅Π· Π°ΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° etcd.
- ΠΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° Kubernetes Π²ΡΠ² ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ ΡΡΠ΅Π΄ΠΈ.
Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° Klusterkit
- Multi-master ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° (HA ΠΊΠ»ΡΡΡΠ΅Ρ K8s).
- ΠΠΎΡΡΠ°Π²ΠΊΠ° ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΡΠΈΡΠ΅Π½ΠΈ etcd ΠΊΠ»ΡΡΡΠ΅ΡΠΈ.
- Π Π°Π±ΠΎΡΠ° Π²ΡΠ² ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ ΡΡΠ΅Π΄ΠΈ.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠ° Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠΈ Π½Π°Π΄ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ Π²ΡΡΡΠ°Π½ΠΈΡ Π½Π°Π·Π°Π΄.
- Flannel (vxlan) ΠΊΠ°ΡΠΎ CNI Π·Π° Π±Π΅ΠΊΠ΅Π½Π΄Π°; ΠΠΌΠ° ΠΏΠ»Π°Π½ΠΎΠ²Π΅ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π΄ΡΡΠ³ΠΈ CNI.
- ΠΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅ ΠΈ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° etcd ΠΊΠ»ΡΡΡΠ΅ΡΠΈ ΡΠ»Π΅Π΄ Π·Π°Π³ΡΠ±Π° Π½Π° ΠΊΠ²ΠΎΡΡΠΌ.
- ΠΡΠ΅Π΄ΠΏΠ°Π·Π²Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈΡ ΠΏΠ°Π½Π΅Π» ΠΎΡ ΠΈΠ·ΡΠ΅ΡΠΏΠ²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ½ΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅.
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π½Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Klusterkit
ΠΠ° ΡΠΎΠ»Π΅ΡΠ°Π½ΡΠ½ΠΎΡΡ ΠΊΡΠΌ Π³ΡΠ΅ΡΠΊΠΈ ΠΈ ΠΏΡΠΎΡΡΠΎΡΠ°, Klusterkit ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΅Π΄ΠΈΠ½ ΡΠ°ΠΉΠ» cctl-state.yaml Π·Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° Π½Π° Kubernetes. Π§ΡΠ΅Π· cctl CLI ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ ΠΆΠΈΠ·Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΡΠ» Π½Π° Kubernetes ΠΊΠ»ΡΡΡΠ΅Ρ Π½Π° Π²ΡΡΠΊΠ° ΠΌΠ°ΡΠΈΠ½Π°, ΠΊΠΎΡΡΠΎ ΠΈΠΌΠ° ΡΠΎΠ·ΠΈ ΡΠ°ΠΉΠ» Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π»Π°ΠΏΡΠΎΠΏ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΈΠ»ΠΈ Π²ΡΠ΅ΠΊΠΈ Π΄ΡΡΠ³ ΠΊΠΎΠΌΠΏΡΡΡΡ, ΠΊΠΎΠΉΡΠΎ Π΅ ΡΠ°ΡΡ ΠΎΡ ΠΊΠ»ΡΡΡΠ΅ΡΠ° Kubernetes.
Cctl Π²Π½Π΅Π΄ΡΡΠ²Π° ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π° cluster-api ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΎΡΠ³ΠΎΡΠ΅ ΠΊΠ°ΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π·Π° CRUD ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠΈ. Π’ΠΎΠΉ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°
ΠΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Klusterkit ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ:
1 β ΠΡΠ΅ΠΊΠΈ ΠΎΡ ΡΡΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΠΌΠΎΠΆΠ΅ Π»Π΅ΡΠ½ΠΎ Π΄Π° Π±ΡΠ΄Π΅ ΡΡΠ±ΡΠ°Π½ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° go get:
go get -u github.com/platform9/cctl
go get -u github.com/platform9/nodeadm
go get -u github.com/kubernetes-sigs/etcdadm
2 β Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅Π·ΠΈ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½ΠΈ ΠΈ ΠΊΠΎΠΏΠΈΡΠ°Π½ΠΈ Π½Π° ΡΠ΅Π»Π΅Π²ΠΈΡΠ΅ ΠΌΠ°ΡΠΈΠ½ΠΈ, ΠΊΡΠ΄Π΅ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π²ΠΈΡΠΎΠΊΠΎΠ΄ΠΎΡΡΡΠΏΠ½ΠΈΡΡ ΠΊΠ»ΡΡΡΠ΅Ρ Kubernetes. ΠΠΎΡΡΠ°Π²Π΅ΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ nodeadm ΠΈ etcdadm Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈΡΠ΅ Π½Π° Π²Π΅ΡΡΠΈΠΈΡΠ΅:
cp $GOPATH/bin/nodeadm /var/cache/ssh-provider/nodeadm//
cp $GOPATH/bin/etcdadm /var/cache/ssh-provider/etcdadm//
3 β ΠΠΊΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΊΠ»ΡΡΡΠ΅Ρ Π½Π° Kubernetes Π»ΠΎΠΊΠ°Π»Π½ΠΎ, Π²ΡΠ² ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½Π° ΡΡΠ΅Π΄Π°, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠ³Π°Ρ Π»Π΅ΡΠ½ΠΎ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·ΡΠ΅Π³Π»Π΅Π½ΠΈ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΡ Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Π·Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ nodeadm ΠΈ etcdadm. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΈΠ·ΡΠ΅Π³Π»Π΅Π½ΠΈΡΠ΅ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ (Ρ.Π΅. kubelet ΠΈ kubelet unit ΡΠ°ΠΉΠ» Π·Π° systemd, CNI ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, kubeadm ΡΠ°ΠΉΠ», Π²ΡΠΈΡΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Kubernetes, keepalived image ΠΈ systemd ΡΠ°ΠΉΠ», etcd ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅Π½ ΠΎΠ±ΡΠ°Π· ΠΈ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅) ΠΌΠΎΠ³Π°Ρ Π»Π΅ΡΠ½ΠΎ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΊΠΎΠΏΠΈΡΠ°Π½ΠΈ Π²ΡΠ² ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ Ρ
ΠΎΡΡΠΎΠ²Π΅ Π·Π°Π΅Π΄Π½ΠΎ Ρ cctl, nodeadm ΠΈ etcdadm. (ΠΠΈΠΆΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π²
4 β Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ Π²ΡΠΈΡΠΊΠΎ Π΅ Π½Π° ΠΌΡΡΡΠΎΡΠΎ ΡΠΈ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΠΏΡΡΠ²ΠΈΡ ΠΊΠ»ΡΡΡΠ΅Ρ Π½Π° Kubernetes Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ:
β ΠΡΡΠ²ΠΎ ΡΡΠ·Π΄Π°ΠΉΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ°.
$GOPATH/bin/cctl create credential --user root --private-key ~/.ssh/id_rsa
β Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΡΠ·Π΄Π°ΠΉΡΠ΅ ΠΊΠ»ΡΡΡΠ΅ΡΠ΅Π½ ΠΎΠ±Π΅ΠΊΡ. βhelp ΠΈΠ·Π²Π΅ΠΆΠ΄Π° ΡΠΏΠΈΡΡΠΊ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈ ΠΎΠΏΡΠΈΠΈ.
$GOPATH/bin/cctl create cluster --pod-network 192.168.0.0/16 --service-network 192.169.0.0/24
β Π Π½Π°ΠΊΡΠ°Ρ, ΡΡΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΡΡΠ²Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π° Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ°.
$GOPATH/bin/cctl create machine --ip $MACHINE_IP --role master
ΠΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π°
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com