встановлення kubernetes на ubuntu
Вступ
Kubernetes, платформа оркестрації контейнерів з відкритим кодом, перевертає спосіб розгортання та керування додатками. Встановлення Kubernetes на Ubuntu надає розробникам та організаціям надійне середовище для розгортання контейнеризованих додатків. Цей посібник пояснює крок за кроком процес налаштування Kubernetes на Ubuntu, щоб навіть початківці могли легко слідувати.
Розуміння Kubernetes
Основні можливості Kubernetes
Kubernetes пропонує розвинені можливості, такі як автоматизоване розгортання, масштабування та управління контейнеризованими додатками. Вони включають:
- Здатність до самовідновлення.
- Виявлення сервісів та балансування навантаження.
- Автоматизовані оновлення та відкат.
Переваги використання Kubernetes
- Ефективність: Оптимізує використання ресурсів.
- Портативність: Працює в різних середовищах.
- Масштабованість: Легко справляється з коливаннями навантаження.
Реальні застосування
Kubernetes підтримує додатки в різних галузях, таких як:
- Платформи електронної комерції.
- Пайплайни машинного навчання.
- Системи безперервної інтеграції та доставки.
Попередні умови для встановлення Kubernetes на Ubuntu
Апаратні та програмні вимоги
- Мінімум 2 процесори та 2 ГБ оперативної пам'яті на вузол.
- Щонайменше 10 ГБ вільного місця на диску.
- Ubuntu 20.04 або новіша версія.
Підтримувані версії Ubuntu
Переконайтеся, що використовуєте версію Ubuntu з довготривалою підтримкою (LTS), наприклад, 20.04 або 22.04.
Мережеві налаштування
Налаштуйте мережу з:
- Унікальним іменем хоста для кожного вузла.
- Статичним IP або DHCP з резервуванням.
- Правильними налаштуваннями DNS.
Підготовка вашої системи Ubuntu
Оновлення системи:
sudo apt update && sudo apt upgrade -y
Налаштування мережі: Забезпечте правильне розв'язання імен хостів, редагуючи файл /etc/hosts
.
sudo swapoff -a
Назавжди вимкніть своп, закоментувавши відповідний запис у файлі /etc/fstab
.
Встановлення Docker як контейнерного виконуваного середовища
Що таке Docker?
Docker є важливим для запуску контейнерів у Kubernetes.
Він надає контейнерне середовище виконання для платформи.
Встановлення Docker на Ubuntu
Виконайте наступні команди для встановлення Docker:
sudo apt install docker.io -y
sudo systemctl enable docker
sudo systemctl start docker
Налаштування Docker для Kubernetes
Налаштуйте параметри cgroup у файлі /etc/docker/daemon.json
:
{
"exec-opts": ["native.cgroupdriver=systemd"]
}
Перезапустіть Docker:
sudo systemctl restart docker
Встановлення інструментів Kubernetes
Огляд компонентів Kubernetes
Kubernetes вимагає:
- kubectl: Інструмент командного рядка для управління кластером.
- kubeadm: Інструмент для ініціалізації кластерів.
- kubelet: Керує окремими вузлами.
Встановлення kubectl, kubeadm та kubelet
sudo apt update
sudo apt install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt update
sudo apt install -y kubelet kubeadm kubectl
Ініціалізація Kubernetes кластера
Налаштування Control Plane:
sudo kubeadm init
Конфігурація kubeconfig:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Додавання робочих вузлів до кластера
Отримайте команду для приєднання з головного вузла та виконайте її на робочих вузлах:
kubeadm join :6443 --token --discovery-token-ca-cert-hash sha256:
Налаштування мережі для кластера
Встановіть плагін CNI, такий як Calico або Flannel:
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
Розгортання тестового додатка
Створіть деплоймент:
kubectl create deployment hello-world --image=k8s.gcr.io/echoserver:1.4
Експонуйте деплоймент:
kubectl expose deployment hello-world --type=NodePort --port=8080
Часто задавані питання
Які апаратні вимоги для Kubernetes?
Мінімум 2 процесори та 2 ГБ RAM на вузол.
Які версії Ubuntu підтримуються?
Ubuntu 20.04 та новіші версії LTS.
Чому вимикати swap пам'ять?
Kubernetes вимагає, щоб swap був вимкнений для стабільності.
- Що таке плагін CNI?
Він дозволяє організувати мережеву взаємодію між подами.
Як перевірити стан кластера?
Використовуйте команди kubectl get nodes
та kubectl get pods
.
Чи може Kubernetes працювати на одному вузлі?
Так, для тестових цілей.
Перекладено з: How to Install Kubernetes on Ubuntu: A Step-by-Step Guide