KlusterKitαŸ– αž€αž‰αŸ’αž…αž”αŸ‹αž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαž—αž–αž”αžΎαž€αž…αŸ†αž αžŠαžΎαž˜αŸ’αž”αžΈαžŸαž˜αŸ’αžšαž½αž›αžŠαž›αŸ‹αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ Kubernetes αž“αž·αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αŸ’αž“αž»αž„αž”αžšαž·αžŸαŸ’αžαžΆαž“αž€αŸ’αž“αž»αž„αž”αžšαž·αžœαŸαžŽαžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αŸ”

KlusterKit

αžαŸ’αž„αŸƒαž“αŸαŸ‡αž™αžΎαž„αž˜αžΆαž“αžŸαŸαž…αž€αŸ’αžαžΈαžšαŸ†αž—αžΎαž”αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ’αžšαž€αžΆαžŸαžαžΆ Platform9 αž‚αžΊαž‡αžΆαž”αŸ’αžšαž—αž–αž”αžΎαž€αž…αŸ†αž  Klusterkit αžŠαŸ‚αž›αž‡αžΆαžŸαŸ†αžŽαž»αŸ†αž“αŸƒαž§αž”αž€αžšαžŽαŸαž…αŸ†αž“αž½αž“αž”αžΈ αž€αŸ’αžšαŸ„αž˜αž’αžΆαž‡αŸ’αž‰αžΆαž”αŸαžŽαŸ’αžŽ Apache v2.0 αž“αŸ…αž›αžΎ GitHub αŸ”

αž’αžαž·αžαž·αž‡αž“αžšαž”αžŸαŸ‹αž™αžΎαž„αž”αž‰αŸ’αž…αŸαž‰αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ…αž€αŸ’αž“αž»αž„αž˜αž‡αŸ’αžˆαž˜αžŽαŸ’αžŒαž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αž―αž€αž‡αž“ αžŠαŸ‚αž›αž‡αžΆαžšαžΏαž™αŸ—αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž’αŸŠαžΈαž“αž’αžΊαžŽαž·αž (αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž– αž¬αž αŸαžαž»αž•αž›αž•αŸ’αžŸαŸαž„αž‘αŸ€αž)αŸ” αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αž’αŸ†αŸ—αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž…αž„αŸ‹αž‘αžΆαž‰αž™αž€αž’αžαŸ’αžαž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž–αžΈ Kubernetes αž“αž·αž„αž’αŸ’αžœαžΎαž‘αŸ†αž“αžΎαž”αž€αž˜αŸ’αž˜αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸ αž αžΎαž™αž“αŸ…αž–αŸαž›αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαž“αŸαŸ‡αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΆαž€αŸ‹αž…αŸαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αž‡αŸ’αžˆαž˜αžŽαŸ’αžŒαž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆ αžŠαŸ‚αž›αž‡αžΆαžšαžΏαž™αŸ—αž˜αž·αž“αž˜αžΆαž“αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž‡αžΆαž˜αž½αž™αž–αž·αž—αž–αžαžΆαž„αž€αŸ’αžšαŸ…αž“αŸ„αŸ‡αž‘αŸαŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž› Klusterkit αž…αžΌαž›αž˜αž€ αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž•αŸ’αžαž›αŸ‹ αž“αž·αž„αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž…αž„αŸ’αž€αŸ„αž˜ K8s αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αžŸαŸ’αžαžΆαž“αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αŸ”

Klusterkit αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž§αž”αž€αžšαžŽαŸαž―αž€αžšαžΆαž‡αŸ’αž™αž…αŸ†αž“αž½αž“αž”αžΈαžŠαŸ‚αž›αž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆ αž¬αžŠαŸ„αž™αž‘αŸ‚αž€αž–αžΈαž‚αŸ’αž“αžΆ αžŠαžΎαž˜αŸ’αž”αžΈαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžœαžŠαŸ’αžαž‡αžΈαžœαž·αžαž“αŸƒαž€αŸ’αžšαž»αž˜αž•αž›αž·αžαž€αž˜αŸ’αž˜ KubernetesαŸ–

  1. etcdadm, CLI αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž…αž„αŸ’αž€αŸ„αž˜ etcd αžŸαžΆαž˜αž‰αŸ’αž‰αŸ”
  2. nodeadmCLI αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžαŸ’αž“αžΆαŸ†αž„αžŠαŸ‚αž›αž–αž„αŸ’αžšαžΈαž€ kubeadm αž“αž·αž„αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž—αžΆαž–αž’αžΆαžŸαŸ’αžšαŸαž™αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžšαžŠαŸ„αž™ kubeadm αŸ”
  3. cctlαžŠαŸ‚αž›αž‡αžΆαž§αž”αž€αžšαžŽαŸαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžœαžŠαŸ’αžαž‡αžΈαžœαž·αžαžšαž”αžŸαŸ‹αž…αž„αŸ’αž€αŸ„αž˜αžŠαŸ‚αž›αž‘αž‘αž½αž›αž™αž€ Cluster API αž–αžΈαžŸαž αž‚αž˜αž“αŸ Kubernetes αž“αž·αž„αž”αŸ’αžšαžΎ nodeadm αž“αž·αž„ etcdadm αžŠαžΎαž˜αŸ’αž”αžΈαž…αŸ‚αž€αž…αžΆαž™ αž“αž·αž„αžαŸ‚αžšαž€αŸ’αžŸαžΆαž…αž„αŸ’αž€αŸ„αž˜ Kubernetes αžŠαŸ‚αž›αž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“αžαŸ’αž–αžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αžœαŸαžŽ αž“αž·αž„αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž”αžšαž·αžŸαŸ’αžαžΆαž“αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αž–αžΈαž‚αŸαŸ”

αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆ αž§αž”αž€αžšαžŽαŸαž‘αžΆαŸ†αž„αž”αžΈαž“αŸαŸ‡αž’αž“αž»αžœαžαŸ’αžαž—αžΆαžšαž€αž·αž…αŸ’αž…αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸˆ

  • αž•αŸ’αžαž›αŸ‹αž—αžΆαž–αž„αžΆαž™αžŸαŸ’αžšαž½αž› αž“αž·αž„αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž…αž„αŸ’αž€αŸ„αž˜ etcd αžŠαŸ‚αž›αž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“αžαŸ’αž–αžŸαŸ‹ αž“αž·αž„αž•αŸ’αž‘αžΆαŸ†αž„αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ Kubernetes αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αžŸαŸ’αžαžΆαž“αž€αŸ’αž“αž»αž„αž”αžšαž·αžœαŸαžŽαžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αžαžΆαž˜αžšαž™αŸˆ Cluster API αŸ”
  • αž€αžΆαžšαžŸαŸ’αžŠαžΆαžšαž•αŸ’αž‘αžΆαŸ†αž„αž”αž‰αŸ’αž‡αžΆαž…αž„αŸ’αž€αŸ„αž˜αž‘αžΎαž„αžœαž·αž‰αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž”αžšαžΆαž‡αŸαž™αžŠαŸ„αž™αž”αŸ’αžšαžΎαž€αžΆαžšαž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€ etcd αŸ”
  • αž€αžΆαžšαžœαŸαž…αžαŸ’αž…αž”αŸ‹αžœαžαŸ’αžαž»αž”αž»αžšαžΆαžŽαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžšαžŠαžΎαž˜αŸ’αž”αžΈαž”αž‰αŸ’αž‡αžΌαž“ Kubernetes αž‘αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αž™αžΆαž€αžΆαžŸαžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αŸ”

αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαžšαž”αžŸαŸ‹ Klusterkit

  • αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž–αž αž»αž˜αŸ (HA cluster K8s) αŸ”
  • αž€αžΆαžšαžŠαžΉαž€αž‡αž‰αŸ’αž‡αžΌαž“ αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž…αž„αŸ’αž€αŸ„αž˜ etcd αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αŸ”
  • αž’αŸ’αžœαžΎαž€αžΆαžšαž€αŸ’αž“αž»αž„αž”αžšαž·αž™αžΆαž€αžΆαžŸαž―αž€αŸ„αžαžΆαž„αžšαžΆαž„αž€αžΆαž™αŸ”
  • αž‚αžΆαŸ†αž‘αŸ’αžšαž€αžΆαžšαž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαžœαž·αž›αž‡αž»αŸ† αž“αž·αž„αž€αžΆαžšαžœαž·αž›αžαŸ’αžšαž‘αž”αŸ‹αž˜αž€αžœαž·αž‰αŸ”
  • Flannel (vxlan) αž‡αžΆ CNI αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ backend; αž˜αžΆαž“αž‚αž˜αŸ’αžšαŸ„αž„αž‚αžΆαŸ†αž‘αŸ’αžš CNIs αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ”
  • αž€αžΆαžšαž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€ αž“αž·αž„αž€αžΆαžšαžŸαŸ’αžŠαžΆαžšαž‘αžΎαž„αžœαž·αž‰αž“αžΌαžœαž€αŸ’αžšαž»αž˜ etcd αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž”αžΆαžαŸ‹αž”αž„αŸ‹αž€αžΌαžšαŸ‰αž»αž˜αŸ”
  • αž€αžΆαžšαž–αžΆαžšαž•αŸ’αž‘αžΆαŸ†αž„αž”αž‰αŸ’αž‡αžΆαž–αžΈαž€αžΆαžšαž’αžŸαŸ‹αž’αž„αŸ’αž‚αž…αž„αž…αžΆαŸ† αž“αž·αž„αž–αŸαž›αžœαŸαž›αžΆαžŸαŸŠαžΈαž—αžΈαž™αžΌαŸ”

αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™ Klusterkit

KlusterKit

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αžαŸ‹αž±αž“αž…αŸ†αž–αŸ„αŸ‡αž€αŸ†αž αž»αžŸ αž“αž·αž„αž—αžΆαž–αžŸαžΆαž˜αž‰αŸ’αž‰ Klusterkit αž”αŸ’αžšαžΎαž―αž€αžŸαžΆαžš cctl-state.yaml αžαŸ‚αž˜αž½αž™αžŠαžΎαž˜αŸ’αž”αžΈαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αŸαžαžΆαž“αŸƒαž…αž„αŸ’αž€αŸ„αž˜ Kubernetes αŸ” αžαžΆαž˜αžšαž™αŸˆ cctl CLI αž’αŸ’αž“αž€αž’αžΆαž…αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžœαžŠαŸ’αžαž‡αžΈαžœαž·αžαž“αŸƒαž…αž„αŸ’αž€αŸ„αž˜ Kubernetes αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžŽαžΆαž˜αž½αž™αžŠαŸ‚αž›αž˜αžΆαž“αž―αž€αžŸαžΆαžšαžšαžŠαŸ’αž‹αž“αŸαŸ‡αŸ” αž“αŸαŸ‡αž’αžΆαž…αž‡αžΆαž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαž™αž½αžšαžŠαŸƒαžšαž”αžŸαŸ‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžš αž¬αž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžŠαŸ‚αž›αž‡αžΆαž•αŸ’αž“αŸ‚αž€αž˜αž½αž™αž“αŸƒαž€αŸ’αžšαž»αž˜ Kubernetes αŸ”

Cctl αž’αž“αž»αžœαžαŸ’αž αž“αž·αž„αž αŸ…αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹ cluster-api αž–αžΈαž”αžŽαŸ’αžαžΆαž‰αž‘αžΎαž„αž‡αžΆαž”αžŽαŸ’αžŽαžΆαž›αŸαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš CRUD αž“αŸ…αž›αžΎαž…αž„αŸ’αž€αŸ„αž˜αŸ” αž‚αžΆαžαŸ‹αž”αŸ’αžšαžΎ αž’αŸ’αž“αž€αž•αŸ’αž‚αžαŸ‹αž•αŸ’αž‚αž„αŸ‹ sshαžŠαŸ‚αž›αž‡αžΆαž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹αžŸαŸαžœαžΆ cluster-api αž›αŸ„αž αŸˆαž’αžΆαžαž»αž”αžΎαž€αž…αŸ†αž αžšαž–αžΈ Platform9 αžŠαŸ‚αž›αž αŸ…αž‡αžΆαž—αžΆαžŸαžΆαž’αž„αŸ‹αž‚αŸ’αž›αŸαžŸαžαžΆ etcdadm αž“αž·αž„ nodeadm αžŠαžΎαž˜αŸ’αž”αžΈαž’αž“αž»αžœαžαŸ’αžαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž“αŸ…αž›αžΎαž…αž„αŸ’αž€αŸ„αž˜αŸ”

αžšαž”αŸ€αž”αž”αŸ’αžšαžΎ 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 αžšαžΌαž”αž—αžΆαž–αžšαž€αŸ’αžŸαžΆαž‘αž»αž€ αž“αž·αž„αž―αž€αžŸαžΆαžš 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

αžŸαžΌαž˜αž’αžΆαž“αž―αž€αžŸαžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αž“αŸ… GitHub.

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹