Введение
Настройка Kubernetes в Ubuntu — это путь, который преобразует вашу инфраструктуру в мощный центр оркестрации контейнеров, позволяющий развертывать, масштабировать и управлять контейнерами приложений на кластере компьютеров. Kubernetes, также известный как K8, автоматизирует развертывание, определение размера и работу контейнеров приложений, упрощая управление приложениями разработчикам и системным администраторам.
В этой статье представлено полное руководство по настройке Kubernetes в Ubuntu, охватывающее все — от установки до эксплуатации. Независимо от того, настраиваете ли вы кластер с одним узлом для разработки или кластер с несколькими узлами для производства, это руководство проведет вас через шаги, необходимые для запуска и работы вашего кластера Kubernetes.
Предварительные условия
Прежде чем начать, убедитесь, что у вас есть:
- Один или несколько компьютеров под управлением Ubuntu 18.04 LTS или более поздней версии, каждый из которых имеет не менее 2 ГБ ОЗУ и 2 процессора.
- Учетная запись пользователя с привилегиями sudo на каждом компьютере.
- Машины объединены в сеть и могут взаимодействовать друг с другом.
Шаг 1: Подготовьте среду
Обновите свою систему. Начните с обновления системы, чтобы убедиться, что все пакеты обновлены.
sudo apt-get update
sudo apt-get upgrade -y
Установите Docker: Kubernetes использует Docker в качестве среды выполнения контейнера. Установите Docker на каждую машину.
sudo apt-get install docker.io -y
После установки добавьте своего пользователя в группу Docker, чтобы запускать команды Docker без sudo.
sudo usermod -aG docker $USER
Отключить подкачку: Kubernetes требует, чтобы вы отключили подкачку на каждой машине.
sudo swapoff -a
Чтобы сделать это изменение постоянным, закомментируйте все записи подкачки в /etc/fstab.
Шаг 2. Установите компоненты Kubernetes.
Добавить репозиторий Kubernetes. Добавьте репозиторий пакетов Kubernetes на каждый компьютер.
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb http://apt.kubernetes.io/kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
Установите Kubernetes. Установите kubeadm, kubelet и kubectl на каждую машину.
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
Заблокируйте их версии, чтобы предотвратить автоматическое обновление.
sudo apt-mark hold kubelet kubeadm kubectl
Шаг 3. Инициализируйте кластер
На главном узле инициализируйте кластер с помощью kubeadm.
sudo kubeadm init --pod-network-cidr=192.168.0.0/16
После инициализации следуйте инструкциям на экране, чтобы начать использовать кластер. Обычно это предполагает выполнение следующих команд от имени обычного пользователя.
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Шаг 4. Настройте сеть Pod
Установите надстройку сети модулей в своем кластере, чтобы ваши модули могли взаимодействовать друг с другом. Calico — популярный выбор, который можно установить с помощью:
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
Шаг 5. Присоедините узлы к кластеру.
Чтобы добавить рабочие узлы в ваш кластер, используйте команду kubeadm join, предоставляемую в конце процесса главной инициализации. Запустите эту команду на каждом рабочем узле.
sudo kubeadm join <master-ip>:<port> --token <token> --discovery-token-ca-cert-hash sha256:<hash>
Шаг 6. Разверните приложения
Когда ваш кластер запущен и работает, вы готовы к развертыванию приложений. Вы можете начать с развертывания простого приложения с помощью YAML-файла развертывания.
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
Примените этот дистрибутив, используя: kubectl apply -f <filename>.yaml
.
Шаг 7. Масштабируйте свой кластер и управляйте им
Масштабируйте свои приложения, регулируя количество реплик в развертывании, и управляйте ресурсами кластера с помощью kubectl, инструмента командной строки Kubernetes. Изучите более сложные развертывания, настройте Kubernetes Dashboard для графического пользовательского интерфейса и рассмотрите возможность установки Helm для управления пакетами.
Заключение
Поздравляем! Вы успешно настроили кластер Kubernetes в Ubuntu. Теперь этот кластер готов к развертыванию приложений. Помните, Kubernetes — мощный инструмент, и о его функциях и возможностях можно узнать гораздо больше. Поэкспериментируйте с развертыванием различных приложений, их масштабированием и изучением множества функций Kubernetes, чтобы научиться удобно управлять контейнерными средами.