KlusterKit: āĻāĻ•āĻŸāĻŋ āĻ“āĻĒā§‡āĻ¨ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻŸā§āĻ˛āĻ•āĻŋāĻŸ āĻ¯āĻžāĻ¤ā§‡ Kubernetes āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¸āĻšāĻœ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨ āĻ…āĻ¨-āĻĒā§āĻ°āĻŋāĻŽāĻŋāĻ¸ā§‡āĻ¸ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻ¯āĻžāĻ¯āĻŧ

KlusterKit

āĻ†āĻœ āĻ†āĻŽāĻ°āĻž āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒā§‡āĻ°ā§‡ āĻ†āĻ¨āĻ¨ā§āĻĻāĻŋāĻ¤ āĻ¯ā§‡ Platform9 āĻšāĻ˛ āĻ“āĻĒā§‡āĻ¨ āĻ¸ā§‹āĻ°ā§āĻ¸āĻŋāĻ‚ Klusterkit, āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻŸā§āĻ˛ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ¯ā§āĻŸ, GitHub-āĻ Apache v2.0 āĻ˛āĻžāĻ‡āĻ¸ā§‡āĻ¨ā§āĻ¸ā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡āĨ¤

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻ°āĻž āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻĄā§‡āĻŸāĻž āĻ¸ā§‡āĻ¨ā§āĻŸāĻžāĻ°ā§‡ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻĨāĻžāĻ•ā§‡ āĻ¨āĻž (āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻŦāĻž āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ•āĻžāĻ°āĻŖā§‡)āĨ¤ āĻāĻ‡ āĻŦāĻĄāĻŧ āĻ•ā§‹āĻŽā§āĻĒāĻžāĻ¨āĻŋāĻ—ā§āĻ˛āĻŋ āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸā§‡āĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ¨āĻŋāĻ¤ā§‡ āĻšāĻžāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ†āĻ§ā§āĻ¨āĻŋāĻ•ā§€āĻ•āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻāĻ•āĻ‡ āĻ¸āĻžāĻĨā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĄā§‡āĻŸāĻž āĻ¸ā§‡āĻ¨ā§āĻŸāĻžāĻ°ā§‡ āĻ°ā§‹āĻ˛ āĻ†āĻ‰āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¯āĻŧ, āĻ¯āĻž āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ‡ āĻŦāĻžāĻ‡āĻ°ā§‡āĻ° āĻŦāĻŋāĻļā§āĻŦā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻĨāĻžāĻ•ā§‡ āĻ¨āĻžāĨ¤ āĻāĻ–āĻžāĻ¨ā§‡āĻ‡ Klusterkit āĻ†āĻ¸ā§‡ āĻ¯āĻž āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ K8s āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻž āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻž āĻ¸āĻšāĻœ āĻ•āĻ°ā§‡ āĻ¤ā§‹āĻ˛ā§‡āĨ¤

āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°āĻ•āĻŋāĻŸā§‡ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ āĻĒā§āĻ°ā§‹āĻĄāĻžāĻ•āĻļāĻ¨ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻœā§€āĻŦāĻ¨āĻšāĻ•ā§āĻ° āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻāĻ•āĻ¸āĻžāĻĨā§‡ āĻŦāĻž āĻ†āĻ˛āĻžāĻĻāĻžāĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

  1. etcdadm, āĻ¸āĻ°āĻ˛ā§€āĻ•ā§ƒāĻ¤ etcd āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ CLIāĨ¤
  2. nodeadm, āĻ¨ā§‹āĻĄ āĻĒā§āĻ°āĻļāĻžāĻ¸āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ CLI āĻ¯āĻž kubeadm āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ kubeadm-āĻāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§‡āĨ¤
  3. cctl, āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ˛āĻžāĻ‡āĻĢāĻ¸āĻžāĻ‡āĻ•ā§‡āĻ˛ āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻŽā§‡āĻ¨ā§āĻŸ āĻŸā§āĻ˛ āĻ¯āĻž āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ āĻ¸āĻŽā§āĻĒā§āĻ°āĻĻāĻžāĻ¯āĻŧ āĻĨā§‡āĻ•ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° API āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ…āĻ¨-āĻĒā§āĻ°āĻžāĻ™ā§āĻ—āĻ¨ā§‡ āĻāĻŦāĻ‚ āĻāĻŽāĻ¨āĻ•āĻŋ āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ Kubernetes āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¨āĻŋāĻ°ā§āĻŦāĻŋāĻ˜ā§āĻ¨ā§‡ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻāĻŦāĻ‚ āĻŦāĻœāĻžāĻ¯āĻŧ āĻ°āĻžāĻ–āĻ¤ā§‡ nodeadm āĻāĻŦāĻ‚ etcdadm āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤

āĻāĻ•āĻ¸āĻžāĻĨā§‡, āĻāĻ‡ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻžāĻœāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°ā§‡:

  • āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° API-āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨ āĻ…āĻ¨-āĻĒā§āĻ°āĻŋāĻŽāĻŋāĻ¸ā§‡āĻ¸ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ etcd āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻāĻŦāĻ‚ Kubernetes āĻĄā§āĻ¯āĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āĻ¸āĻšāĻœā§‡ āĻŦāĻŋāĻ§āĻžāĻ¨ āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°ā§āĻ¨āĨ¤
  • etcd āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻžāĻ° āĻĒāĻ°ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻĒā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡āĨ¤
  • āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸āĻ•ā§‡ āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨āĻŋāĻĻāĻ°ā§āĻļāĻ¨ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ•āĻ°āĻžāĨ¤

Klusterkit āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯

  • āĻŽāĻžāĻ˛ā§āĻŸāĻŋ-āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ (HA āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° K8s)āĨ¤
  • āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ etcd āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĨ¤
  • āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĨ¤
  • āĻ°ā§‹āĻ˛āĻŋāĻ‚ āĻ†āĻĒāĻ—ā§āĻ°ā§‡āĻĄ āĻāĻŦāĻ‚ āĻ°ā§‹āĻ˛āĻŦā§āĻ¯āĻžāĻ• āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡āĨ¤
  • āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄā§‡āĻ° āĻœāĻ¨ā§āĻ¯ CNI āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĢā§āĻ˛ā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ (vxlan); āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¸āĻŋāĻāĻ¨āĻ†āĻ‡āĻ•ā§‡ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻ¨āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • āĻ•ā§‹āĻ°āĻžāĻŽ āĻšāĻžāĻ°āĻžāĻ¨ā§‹āĻ° āĻĒāĻ°ā§‡ etcd āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒ āĻāĻŦāĻ‚ āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ°āĨ¤
  • āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛ āĻĒā§āĻ¯āĻžāĻ¨ā§‡āĻ˛āĻ•ā§‡ āĻŽā§‡āĻŽāĻ°āĻŋ āĻāĻŦāĻ‚ CPU āĻ¸āĻŽāĻ¯āĻŧ āĻĢā§āĻ°āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž āĻĨā§‡āĻ•ā§‡ āĻ°āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡āĨ¤

āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°āĻ•āĻŋāĻŸ āĻ¸āĻ˛āĻŋāĻ‰āĻļāĻ¨ āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°

KlusterKit

āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ¸āĻšāĻ¨āĻļā§€āĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻ¸āĻ°āĻ˛āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯, Klusterkit āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• cctl-state.yaml āĻĢāĻžāĻ‡āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ Kubernetes āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡āĨ¤ cctl CLI āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ‡ āĻ¸ā§āĻŸā§‡āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ†āĻ›ā§‡ āĻāĻŽāĻ¨ āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻœā§€āĻŦāĻ¨āĻšāĻ•ā§āĻ° āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ˛ā§āĻ¯āĻžāĻĒāĻŸāĻĒ āĻŦāĻž āĻ…āĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻžāĻ° āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯āĻž āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ…āĻ‚āĻļāĨ¤

Cctl āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ CRUD āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ†āĻĒāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻĨā§‡āĻ•ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°-āĻāĻĒāĻŋāĻ†āĻ‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ•āĻ˛ āĻ•āĻ°ā§‡āĨ¤ āĻ¸ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ ssh-āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻ•āĻžāĻ°ā§€, āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ 9 āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ“āĻĒā§‡āĻ¨-āĻ¸ā§‹āĻ°ā§āĻ¸ āĻŦā§‡āĻ¯āĻŧāĻžāĻ° āĻŽā§‡āĻŸāĻžāĻ˛ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°-āĻāĻĒāĻŋāĻ†āĻ‡ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻ•āĻžāĻ°ā§€, āĻ¯āĻž āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ etcdadm āĻāĻŦāĻ‚ nodeadm āĻ•ā§‡ āĻ•āĻ˛ āĻ•āĻ°ā§‡āĨ¤

āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°āĻ•āĻŋāĻŸ āĻāĻŦāĻ‚ āĻāĻ° āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‡āĻ¨:

1 – āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻŸā§āĻ˛ā§‡āĻ° āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻāĻ•āĻŸāĻŋ āĻ—ā§‹ āĻ—ā§‡āĻŸ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¸āĻšāĻœā§‡āĻ‡ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ:

go get -u github.com/platform9/cctl

go get -u github.com/platform9/nodeadm

go get -u github.com/kubernetes-sigs/etcdadm

2 – āĻāĻ‡ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛āĻ—ā§āĻ˛āĻŋ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻŸāĻžāĻ°ā§āĻ—ā§‡āĻŸ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻ•āĻĒāĻŋ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻšāĻžāĻ˛ā§ āĻšāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ nodeadm āĻāĻŦāĻ‚ etcdadm āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ°āĻžāĻ–ā§āĻ¨:

cp $GOPATH/bin/nodeadm /var/cache/ssh-provider/nodeadm//

cp $GOPATH/bin/etcdadm /var/cache/ssh-provider/etcdadm//

3 – āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ…āĻ°ā§āĻ•ā§‡āĻ¸ā§āĻŸā§āĻ°ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨, āĻāĻ•āĻŸāĻŋ āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡, āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻžāĻ—ā§āĻ˛āĻŋ āĻ¨ā§‹āĻĄā§‡āĻĄāĻŽ āĻāĻŦāĻ‚ etcdadm āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻžāĻ°ā§‡ āĻ†āĻ—ā§‡ āĻĨā§‡āĻ•ā§‡āĻ‡ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻ†āĻ‡āĻŸā§‡āĻŽāĻ—ā§āĻ˛āĻŋ (āĻ¯ā§‡āĻŽāĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻĄā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§āĻŦā§‡āĻ˛ā§‡āĻŸ āĻāĻŦāĻ‚ āĻ•ā§āĻŦā§‡āĻ˛ā§‡āĻŸ āĻ‡āĻ‰āĻ¨āĻŋāĻŸ āĻĢāĻžāĻ‡āĻ˛, āĻ¸āĻŋāĻāĻ¨āĻ†āĻ‡ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻĢāĻžāĻ‡āĻ˛, āĻ•āĻŋāĻ‰āĻŦāĻŋāĻāĻĄāĻāĻŽ āĻĢāĻžāĻ‡āĻ˛, āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ āĻ¸āĻš āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ›āĻŦāĻŋ, āĻ•āĻŋāĻĒāĻ˛āĻžāĻ‡āĻ­āĻĄ āĻ‡āĻŽā§‡āĻœ āĻāĻŦāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻĄ āĻĢāĻžāĻ‡āĻ˛, etcd āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ‡āĻŽā§‡āĻœ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ) āĻ¸āĻšāĻœā§‡āĻ‡ āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨ āĻšā§‹āĻ¸ā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ cctl, nodeadm āĻāĻŦāĻ‚ etcdadm āĻ¸āĻšāĨ¤ (āĻāĻ¤ā§‡ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻĻā§‡āĻ–ā§āĻ¨ āĻ‰āĻ‡āĻ•āĻŋ).

4 - āĻāĻ•āĻŦāĻžāĻ° āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ āĻŋāĻ• āĻšāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ˛ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ¸āĻš āĻĒā§āĻ°āĻĨāĻŽ āĻ•ā§āĻŦāĻžāĻ°āĻ¨ā§‡āĻŸāĻ¸ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

- āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻļāĻ‚āĻ¸āĻžāĻĒāĻ¤ā§āĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤

$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

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨