Как установить Kubernetes на Ubuntu 20.04 LTS

Как установить Kubernetes на Ubuntu 20.04 LTS

 

В этом руководстве мы покажем вам, как установить Kubernetes на Ubuntu 20.04 LTS. Для тех из вас, кто не знал, Kubernetes — это бесплатная система управления контейнерами с открытым исходным кодом, которая предоставляет платформу для автоматизации развертывания, масштабирования и операций с контейнерами приложений в кластерах хост-компьютеров. С Kubernetes вы можете свободно использовать гибридную, локальную и общедоступную облачную инфраструктуру для выполнения задач развертывания в вашей организации.

В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo‘ к командам для получения привилегий root. Я покажу вам пошаговую установку Kubernetes на сервере Ubuntu 20.04 (Focal Fossa).

Установите Kubernetes на Ubuntu 20.04 LTS Focal Fossa

Шаг 1. Во-первых, убедитесь, что все ваши системные пакеты обновлены, выполнив следующие aptкоманды в терминале.

sudo apt update
sudo apt upgrade
sudo apt install apt-transport-https curl

Шаг 2. Установка Docker.

Следуйте команде, чтобы установить Docker CE в Ubuntu 20.04:

sudo apt install docker.io

После установки Docker убедитесь, что он запускается после перезагрузки:

sudo systemctl enable docker
sudo systemctl start docker

Вы можете проверить установку Docker:

docker --version

Шаг 3. Установка Kubernetes на Ubuntu 20.04.

Теперь добавляем ключ подписи 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"

После этого выполните следующую команду, чтобы установить Kubernetes:

sudo apt install kubeadm kubelet kubectl kubernetes-cni

Шаг 4. Отключите подкачку памяти.

Для запуска Kubernetes необходимо отключить подкачку:

sudo swapoff -a

Чтобы навсегда отключить подкачку, закомментируйте или удалите строку подкачки в файле / etc / fstab:

sudo nano /etc/fstab
...
#                
# / was on /dev/sda2 during curtin installation
/dev/disk/by-uuid/f3d575c6-e46go-4472-b406-30dmeilana965a / ext4 defaults 0 0
#/swap.img      none    swap    sw      0       0

Шаг 5. Задайте имена хостов.

Теперь дайте имена хостов каждому узлу. В нашем сценарии мы используем имена хостов master-node и master-node, чтобы легко различать наши хосты и определять их роли:

sudo hostnamectl set-hostname master-node
sudo hostnamectl set-hostname slave-node

Шаг 6. Инициализируйте главный сервер Kubernetes.

Сначала введите следующую команду на главном узле:

sudo kubeadm init

Затем запустите эти три команды на главном узле:

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

Шаг 7. Разверните сеть контейнеров.

Следующим шагом является развертывание сети контейнеров. Выполните следующие две команды на главном узле:

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

Вы можете использовать команду kubectl, чтобы убедиться, что все готово:

kubectl get pods --all-namespaces

Шаг 8. Присоединяйтесь к кластеру Kubernetes.

Теперь наш кластер готов к подключению рабочих узлов. Используйте команду, полученную ранее из выходных данных инициализации главного узла Kubernetes, чтобы присоединиться к вашему кластеру Kubernetes:kubeadm join

sudo kubeadm join 192.168.77.21:6443 --token 1exb8s.2t4k3bramnoamo --discovery-token-ca-cert-hash sha256:72gama4918cf2cute19356c9a402fb609263adad48c13797d0cba2341

Подтвердите, что главный узел теперь является частью нашего кластера Kubernetes, с помощью этой команды:

kubectl get nodes

Шаг 9. Развертывание сервиса в кластере Kubernetes.

На этих шагах мы готовы развернуть сервис в кластере Kubernetes. Выполните следующие две команды на своем главном узле:

kubectl run --image=nginx nginx-server --port=80 --env="YOUR-DOMAIN=cluster"
kubectl expose deployment nginx-server --port=80 --name=nginx-http

Теперь вы должны увидеть новый контейнер докеров Nginx, развернутый на вашем рабочем узле:

sudo docker ps

Наконец, вы можете увидеть текущий список всех доступных служб, работающих в вашем кластере, с помощью следующей команды, запущенной с главного узла Kubernetes:

kubectl get svc

Поздравляю! Вы успешно установили Kubernetes . Благодарим за использование этого руководства по установке Kubernetes в системах Ubuntu 20.04 LTS Focal Fossa. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт Kubernetes .