Kubernetes е мощна платформа за управление на контейнеризирани приложения. Тя позволява автоматизация на разполагането, мащабиране и управление на приложения в контейнери. В това ръководство ще научим как да създадем нашия първи Kubernetes кластер с помощта на инструментите на kubeadm. Ще преминем през основните стъпки, настройки и конфигурации.
Съдържание
- Въведение
- Изисквания за системата
- Инсталиране на зависимостите
- Създаване на Kubernetes Cluster с kubeadm
- Проверка на кластерната конфигурация
- Управление на ресурсите в Kubernetes
- Заключение
Въведение
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 предлага много други функции и възможности, които могат да оптимизират и подобрят вашето приложение. Възползвайте се от тях, за да изградите мащабируеми и устойчиви системи



