Translate

вівторок, 12 вересня 2017 р.

Kubernetes. Part II: Setup Cluster With Kubeadm. Plugins

Після ознайомлення з теорією можна перейти і до практичної частини. Цього разу установимо кластер Kubernetes на bare-metal, тобто звичайні віртуальні машини чи залізні сервера, що не входять до існуючих IAAS платформ.

Способів установки Kubernetes кластеру існує дуже багато. Всі ці перераховані варіанти різної актуальності, необхідно дивитись і перевіряти все уважно, щоб не витратити зайвого часу на марні спроби. Найбільш популярні способи:

  • minikube. Найпростіший спосіб установки Kubernetes на власний локальний PC. Буде корисний людям, котрі хочуть приступити до вивчення Kubernetes, не втрачаючи купу часу на його більш повноцінну установку. 
  • kubeadm. Підтримує установку на звичайні bare-metal сервера чи віртуальні машини, що працюють під управлінням наступних операційних систем Ubuntu 16.04+, CentOS 7 чи HypriotOS v1.0.1+ (Debian+Docker для ARM девайсів). Наразі kubeadm перебуває в статусі beta і поки не підтримує створення HA (High Availability) Master інсталяцій, проте підтримку цієї функції обіцяють в наступних релізах.
  • kops. Призначений для розгортання Kubernetes на AWS, для чого використовує API виклики платформи. Написаний на мові Go. Як зазначено на github сторінці проекту, робота kops з GCE та VMware vSphere перебуває в статусі альфа, а в майбутньому також планується підтримка інших хмарних платформ. У якості операційної системи для вузлів використовує Debian/Ubuntu, проте також є початкова підтримка CentOS/RHEL. Підтримує розгортання HA Master конфігурацій.
  • kubespray. По суті це набір Ansible плейбуків для розгортання Kubernetes на платформах AWS, GCE, Azure, OpenStack, vSphere чи bare-metal машинах. Має найбільш обширний список підтримки дистрибутивів Linux: Container Linux by CoreOS, Debian Jessie, Ubuntu 16.04, CentOS/RHEL 7. Це community-проект. https://kubernetes.io/docs/getting-started-guides/kubespray/
  • conjure-up. Комплекс скриптів установки, котрий розробляє компанія Canonical. У основі conjure-up лежать такі технології як Juju, MAAS та LXD. Це чудовий варіант, якщо у якості хост-системи вас задовольняє Ubuntu. Також підтримує довгий перелік можливих cloud платформ. https://kubernetes.io/docs/getting-started-guides/ubuntu/installation/

У цій статті ми розгорнемо власний кластер Kubernetes за допомогою утиліти kubeadm. Це буде не HA інсталяція на основі операційної системи Ubuntu 16.04, що в свою чергу працюватиме в системі віртуалізації VirtualBox. Перелік адрес хостів та їх доменів наступний:

k8s-m1  192.168.60.110
k8s-s1    192.168.60.111
k8s-s2    192.168.60.112
k8s-s3    192.168.60.113

Як рекомендує офіційна документація, кожній віртуальній машині варто виділити як мінімум 1ГБ оперативної пам’яті, інакше може не вистачити місця для запуску додатків.