Конфигурации Kubernetes
Kubernetes можно установить в различных конфигурациях. Ниже кратко представлены четыре основных типа установки:
- All-in-One Single-Node Installation
С все-в-одном (all-in-one) — master и node worker устанавливаются на одном узле. Это очень полезно для обучения, разработки и тестирования. Ни в коем случае не использовать продакшене! Minikube является одним из таких примеров.
- Single-Node etcd, Single-Master, and Multi-Worker Installation
В этой настройке у нас есть один главный узел (master), который также запускает экземпляр etcd с одним узлом. Несколько рабочих узлов подключены к главному узлу.
- Single-Node etcd, Multi-Master, and Multi-Worker Installation
В этой настройке у нас есть несколько главных узлов, которые работают в режиме HA, но у нас есть экземпляр etcd с одним узлом. Несколько рабочих узлов подключены к главным узлам.
- Multi-Node etcd, Multi-Master, and Multi-Worker Installation
В этом режиме etcd настраивается в кластерном режиме, вне кластера Kubernetes, и узлы подключаются к нему. Главные узлы настраиваются в режиме высокой готовности, подключаясь к нескольким рабочим узлам. Это самая предварительная и самая порекомендованная установка продукции.
Инфраструктура для установки Kubernetes
После того, как мы определимся с типом установки, нам также необходимо принять некоторые инфраструктурные решения:
- Настраиваем Kubernetes на «железном» сервере, публичном облаке или частном облаке?
- Какую операционную систему будем использовать? Это будет RHEL, CoreOS, CentOS или что-то еще?
- Какое сетевое решение мы должны использовать?
Установка на localhost
Существует несколько вариантов установки localhost для развертывания одно-или многоузловых кластеров Kubernetes на нашей рабочей станции / ноутбуке:
Minikube является предпочтительным и рекомендуемым способом, чтобы установаить Kubernetes all-in-one.
On-primise установка
Kubernetes может быть установлен локально на виртуальную машину и «железный» физический сервер:
- On-Premise VMs
Kubernetes может быть установлен на виртуальные машины, созданные через Vagrant, VMware vSphere, KVM, и т.д. Существуют различные инструменты, доступные для автоматизации установки, как Ansible или kubeadm.
- On-Premise на «железный» сервер
Kubernetes может быть установлен физический выделенный сервер, поверх различных операционных систем, как RHEL, CoreOS, CentOS, Fedora, Ubuntu, и т.д. Большинство инструментов, используемых, чтобы установить VMs, может использоваться и на выделенном сервере.
Облачная установка
Kubernetes может устанавливаться и управляться на почти любой облачной платформе:
- Хостинг-решения
При использовании хостинг-решения, любое программное обеспечение полностью управляется поставщиком этих услуг. Пользователю останется только оплатить хостинг и управление. Ниже приведены примеры поставщиков хостинг-решения для Kubernetes:
- Google Kubernetes Engine (GKE)
- Azure Container Service (AKS)
- Amazon Elastic Container Service for Kubernetes (EKS) - Currently in Tech Preview
- OpenShift Dedicated
- Platform9
- IBM Cloud Container Service.
- Облачные решения "под ключ"
Для Kubernetes есть несколько готовых облачных решений, с помощью которых Kubernetes можно установить с помощью нескольких команд на базовой платформе IaaS:
- Выделенный физический сервер
Kubernetes может быть установлен на железном сервере, предоставляемом различными поставщиками облачных служб.