ONE DUDE`S BLOG

Work in progress
/media/kubernetesblog02.jpg

Установка и настройка kubernetes.

13.09.2020
Детальный деплой кластера с помощью kubernetes

Немного теории

Kubernetes - open source решение для управления, развертывания и масштабирования контейнеризированных приложений.

Термины которыми оперируют при работе с kubernetes

Pod - Service -

Установка

Установим докер

sudo apt-get update
sudo apt-get install docker.io
sudo systemctl enable docker
sudo systemctl start docker

Установим kubernetes

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add

Т.к. kubernetes не включен в официальный репозиторий то добавим новый репозиторий:

sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"

Установим kubead. Утилита, помогающая развернуть кластер.

sudo apt-get install kubeadm kubelet kubectl
sudo apt-mark hold kubeadm kubelet kubectl

Проверим что установка прошла успешно

kubeadm version

Повторяем на всех узлах.

Отключаем swap на мастер ноде и воркерах. (Необходимо для работы сетевой файловой системы).

sudo swapoff –a

Установим уникальное имя хостов для master ноды и воркеров

sudo hostnamectl set-hostname master-node
sudo hostnamectl set-hostname worker01

Инициализируем kubernetes на мастер ноде:

sudo kubeadm init --pod-network-cidr=10.244.0.0/16

Не забываем скопировать на выводе kubeadm join... (дальше будет необходимо для подключения воркеров) Создадим директорию для кластера, скопируем конфиги и установим необходимые права

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

Создание виртуальной сети с помощью Flunnel

sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

Проверим что все поды запущены

kubectl get pods --all-namespaces

Теперь вводим, скопированный ранее, kubeadm join.. на воркере. Переключаемся на мастер ноду и проверяем доступные ноды:

kubectl get nodes

Установим web ui (по необходимости)

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml

Подключаем docker registry

kubectl create secret docker-registry regcred --docker-server=<your-registry-server> --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>

Перейдем к непосредственно деплою

kubernetes
0
83