KlusterKit: Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ Π΄Π΅ΠΏΠ»ΠΎΠ΅Π² Kubernetes ΠΈ ΡΠ°Π±ΠΎΡΡ Π² ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄Π°Ρ
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ Ρ ΡΠ°Π΄ΠΎΡΡΡΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ, ΡΡΠΎ Platform9 ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ Klusterkit, Π½Π°Π±ΠΎΡΠ° ΠΈΠ· ΡΡΠ΅Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΏΠΎ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ Apache v2.0 Π½Π° GitHub.
ΠΠ°ΡΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π²ΡΠΊΠ°ΡΡΠ²Π°ΡΡ ΠΠ Π² ΡΠ°ΡΡΠ½ΡΡ Π΄Π°ΡΠ°-ΡΠ΅Π½ΡΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΡΠΎ Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ ΠΊ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΡ (ΠΏΠΎ ΡΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈΠ»ΠΈ ΠΏΠΎ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ). ΠΡΠΈ ΠΊΡΡΠΏΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Ρ ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Kubernetes ΠΈ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ Π²ΡΠΊΠ°ΡΡΠ²Π°ΡΡ ΠΈΡ Π² ΡΠ°Π·Π½ΡΡ Π΄Π°ΡΠ°-ΡΠ΅Π½ΡΡΠ°Ρ , Ρ ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΡΠ΅Π΄ΠΊΠΎ Π½Π΅Ρ ΡΠ²ΡΠ·ΠΈ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΌΠΈΡΠΎΠΌ. Π ΡΡΡ Π½Π° ΠΏΠΎΠΌΠΎΡΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ Klusterkit, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΠΎΡΡΠ°Π²ΠΊΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°ΠΌΠΈ K8s Π² ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠ΅Π΄Π°Ρ .
Π Klusterkit Π²Ρ ΠΎΠ΄ΠΈΡ ΡΡΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΌΠ΅ΡΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ production-ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Kubernetes:
etcdadm , CLI Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠΌ etcd.nodeadm , CLI Π΄Π»Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½ΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅Ρ kubeadm ΠΈ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, Π½ΡΠΆΠ½ΡΠ΅ kubeadm.cctl , ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Cluster API ΠΈΠ· ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° Kubernetes ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ nodeadm ΠΈ etcdadm, ΡΡΠΎΠ±Ρ Π±Π΅Π· Π»ΠΈΡΠ½ΠΈΡ Ρ Π»ΠΎΠΏΠΎΡ ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π²ΡΡΠΎΠΊΠΎΠ΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΡ Kubernetes Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΈ Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠ΅Π΄Π°Ρ .
ΠΠΌΠ΅ΡΡΠ΅ ΡΡΠΈ ΡΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ:
- ΠΡΠΎΡΡΠ°Ρ ΠΏΠΎΡΡΠ°Π²ΠΊΠ° ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΡΡΠΎΠΊΠΎΠ΄ΠΎΡΡΡΠΏΠ½ΡΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠΌ etcd ΠΈ ΠΏΠ°Π½Π΅Π»ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Kubernetes Π² ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄Π°Ρ ΡΠ΅ΡΠ΅Π· Cluster API.
- ΠΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΏΠΎΡΠ»Π΅ ΡΠ±ΠΎΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΡΠΊΠ°ΠΏΠ° etcd.
- Π£ΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° Π²ΡΠ΅Ρ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΎΠ², Π½ΡΠΆΠ½ΡΡ Π΄Π»Ρ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ Kubernetes, Π² ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠ΅Π΄Π°Ρ .
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Klusterkit
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΌΠ°ΡΡΠ΅ΡΠΎΠ² (HA-ΠΊΠ»Π°ΡΡΠ΅Ρ K8s).
- ΠΠΎΡΡΠ°Π²ΠΊΠ° Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ² etcd ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠΈ.
- Π Π°Π±ΠΎΡΠ° Π² ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠ΅Π΄Π°Ρ .
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈ ΠΎΡΠΊΠ°ΡΠ°.
- Flannel (vxlan) Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ CNI Π΄Π»Ρ Π±ΡΠΊΠ΅Π½Π΄Π°; Π² ΠΏΠ»Π°Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄ΡΡΠ³ΠΈΡ CNI.
- Π Π΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ etcd-ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ² ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΡΠ΅ΡΠΈ ΠΊΠ²ΠΎΡΡΠΌΠ°.
- ΠΠ°ΡΠΈΡΠ° ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΡ Π½Π΅Ρ Π²Π°ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π¦Π.
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΡΠ΅ΡΠ΅Π½ΠΈΡ Klusterkit
ΠΠ»Ρ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ ΠΈ ΠΏΡΠΎΡΡΠΎΡΡ Klusterkit ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» cctl-state.yaml Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Kubernetes. Π§Π΅ΡΠ΅Π· cctl CLI ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Kubernetes Π½Π° Π»ΡΠ±ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅, Π³Π΄Π΅ Π΅ΡΡΡ ΡΡΠΎΡ ΡΠ°ΠΉΠ» ΡΠΎΡΡΠΎΡΠ½ΠΈΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½ΠΎΡΡΠ±ΡΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΠΊΠ»Π°ΡΡΠ΅Ρ Kubernetes.
Cctl ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΈΠ· upstream ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ 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 Π΄Π»Ρ systemd, ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ» ΡΠ°ΠΉΠ»Ρ CNI, ΡΠ°ΠΉΠ» kubeadm, Π²ΡΠ΅ ΠΎΠ±ΡΠ°Π·Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ Kubernetes, ΠΎΠ±ΡΠ°Π· keepalived ΠΈ ΡΠ°ΠΉΠ» 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
ΠΠΎΠ»ΡΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΠΈΡΠ°ΠΉΡΠ΅ Π½Π°
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com