Как да създадем първия си Kubernetes Cluster с kubeadm

Как да създадем първия си Kubernetes Cluster с kubeadm

Kubernetes е мощна платформа за управление на контейнеризирани приложения. Тя позволява автоматизация на разполагането, мащабиране и управление на приложения в контейнери. В това ръководство ще научим как да създадем нашия първи Kubernetes кластер с помощта на инструментите на kubeadm. Ще преминем през основните стъпки, настройки и конфигурации.

Съдържание

  1. Въведение
  2. Изисквания за системата
  3. Инсталиране на зависимостите
  4. Създаване на Kubernetes Cluster с kubeadm
  5. Проверка на кластерната конфигурация
  6. Управление на ресурсите в Kubernetes
  7. Заключение

Въведение

Kubernetes, често наричан K8s, е система с отворен код за автоматизация на разполагането, управлението и мащабирането на приложения в контейнери. kubeadm е инструмент, който позволява лесното и бързо разгръщане на Kubernetes клъстери. В това ръководство ще изграждаме основен Kubernetes клъстер стъпка по стъпка.

Изисквания за системата

Преди да започнем, е важно да имаме предвид изискванията за системата. Ето един списък с минималните изисквания:

  • Операционна система: Linux (Ubuntu, CentOS и др.)
  • Процесор: Минимум двуядрен
  • RAM: Минимум 2 GB
  • Диск: Най-малко 20 GB свободно място
  • Мрежа: Възможност за свързване между възлите

Уверете се, че имате достъп до интернет, за да изтеглите нужните пакети.

Инсталиране на зависимостите

Преди да инсталираме kubeadm, трябва да инсталираме някои зависимости. Тук ще опишем как да инсталираме необходимите компоненти на Ubuntu.

Инсталиране на Docker

Kubernetes използва контейнеризирани приложения, затова първо ще инсталираме Docker.

sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install -y docker-ce

След инсталацията, проверете дали Docker работи:

sudo systemctl status docker

Инсталиране на kubeadm, kubelet и kubectl

Следващата стъпка е инсталирането на Kubernetes инструментите. Това включва kubeadm, kubelet и kubectl.

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

Създаване на Kubernetes Cluster с kubeadm

Сега, когато всички зависимости са инсталирани, можем да създадем нашия Kubernetes кластер.

Старт на kubeadm

Започнете с инициализация на клъстера. Изпълнете следната команда:

sudo kubeadm init

Тази команда ще инициализира контролерния плъзгач на Kubernetes. След успешна инициализация, ще получите инструкции за свързване на работни възли към клъстера.

Настройка на kubectl

Можем да настроим kubectl, за да управляваме нашия клъстер. Изпълнете следните команди:

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

Възможности за планиране (Networking)

Следващата стъпка е инсталирането на мрежовия плъгин. Kubernetes изисква мрежово решение, за да комуникират контейнерите помежду си. Примерно, можем да използваме Weave Net:

kubectl apply -f https://git.io/weave-kube

Добавяне на работни възли

След като контролерът е настроен, можете да добавите работни възли. Следвайте инструкциите, получени след инициализацията на контролера, за да свържете работните възли.

Например:

kubeadm join <control-plane-host>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>

Проверка на кластерната конфигурация

След успешното разгръщане, можете да проверите статуса на вашия Kubernetes клъстер.

Проверка на статусите

Изпълнете следната команда, за да проверите статусите на възлите:

kubectl get nodes

Ако всичко е наред, ще видите списък с вашите възли и тяхното състояние.

Проверка на модули

Можете да проверите и статуса на различните модули в Kubernetes:

kubectl get pods --all-namespaces

Управление на ресурсите в Kubernetes

След като вече имате работещ Kubernetes клъстер, можете да започнете да разполагате приложения.

Деплой на примерна апликация

Нека да разпространим прост примерен nginx сървър:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80

Запишете това в nginx-deployment.yaml и изпълнете командата:

kubectl apply -f nginx-deployment.yaml

Проверка на статуса на приложението

След като разположите приложението, проверете статуса:

kubectl get deployments

Или за подробна информация:

kubectl describe deployments nginx-deployment

Заключение

Създаването на Kubernetes кластер с kubeadm е проста задача, стига да следвате правилните стъпки. Сега, когато имате работещ кластер, можете да експериментирате с различни приложения и услуги. Kubernetes предлага много възможности за автоматизация и управление на контейнери, което го прави идеален избор за современи приложения.

Запомнете, че това е само началото. Kubernetes предлага много други функции и възможности, които могат да оптимизират и подобрят вашето приложение. Възползвайте се от тях, за да изградите мащабируеми и устойчиви системи

Федя Серафиев

Федя Серафиев

е DevOps технологичен ентусиаст с опит в Linux, Docker, Kubernetes и CI/CD. Той споделя практични ръководства и анализи, които помагат на специалистите да изграждат по-добри и ефективни системи. На devopsbg.net Федя предоставя актуални и полезни насоки за автоматизация, сигурност и оптимизация на инфраструктурата.

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *


Колко е 5 + 2 ? (въведете числото)