Локальное изучение Kubernetes через Minikube на Manjaro/Archlinux
На этой странице
- Шаг 1. Установка зависимостей пакетов
- Шаг 2. Установите Docker-Machine и драйвер KVM2
- Шаг 3. Установите Minikube и Kubectl
- Шаг 4. Инициализация Kubernetes с помощью Minikube
- Шаг 5. Тестирование развертываний
- Шаг 6. Доступ к панели мониторинга Kubernetes
- Справочник
Minikube — это инструмент, который позволяет запускать Kubernetes в вашей локальной компьютерной системе. Minikube создаст кластер Kubernetes с одним узлом внутри виртуальной машины в зависимости от используемого вами vm-драйвера. Minikube хорош для изучения Kubernetes, включая тестирование, разработку или обучение.
В этом руководстве мы пошагово покажем вам, как создать кластер Kubernetes с одним узлом локально с помощью Minikube в Manjaro/ArchLinux. В этом руководстве будет реализован кластер Kubernetes локально с помощью драйвера KVM2 и рассмотрен пример развертывания службы Nginx.
Что мы будем делать:
- Установка зависимостей пакетов
- Установите Docker-машину и драйвер KVM2
- Установите Minikube и Kubectl
- Инициализация Kubernetes с помощью Minikube
- Тестирование развертывания
- Доступ к панели управления Kubernetes
Шаг 1 — Установите зависимости пакетов
Первый шаг, который мы сделаем, — установим все зависимости пакетов, включая qemu KVM и dnsmasq.
Установите qemu и dnsmasq с помощью приведенной ниже команды pacman.
sudo pacman -Sy libvirt qemu ebtables dnsmasq
Когда установка завершится, добавьте пользователя в группу libvirt и перезагрузите.
sudo usermod -a -G libvirt $(whoami)
newgrp libvirt
Теперь запустите службы libvirtd и virtlogd и добавьте эти службы во время загрузки.
sudo systemctl start libvirtd.service
sudo systemctl enable libvirtd.service
sudo systemctl start virtlogd.service
sudo systemctl enable virtlogd.service
В системе установлены пакеты и зависимости KVM qemu.
Шаг 2 — Установите Docker-Machine и драйвер KVM2
Minikube использует docker-machine для управления виртуальной машиной Kubernetes, и нам нужно установить для нее docker-machine-driver-kvm2.
Установите докер-машину с помощью команды pacman ниже.
sudo pacman -Sy docker-machine
Теперь установите docker-machine-driver-kvm2 из репозитория AUR с помощью команды yaourt.
yaourt -Sy docker-machine-driver-kvm2
Дождитесь установки.
Шаг 3 — Установите Minikube и Kubectl
В этом руководстве мы будем устанавливать Minikube и kubectl из репозитория AUR.
Запустите команду yaourt ниже.
yaourt -Sy minikube-bin kubectl-bin
По завершении установки проверьте версию Minikube и команду kubectl.
minikube version
whereis kubectl
kubectl -h
Шаг 4 — Инициализация Kubernetes с помощью Minikube
Инициализируйте кластер Kubernetes с одним узлом с помощью приведенной ниже команды Minikube.
minikube start --vm-driver kvm2
Команда загрузит ISO-файл Minikube и создаст виртуальную машину KVM в системе.
Когда он будет завершен, вы получите результат, как показано ниже.
Kubernetes был установлен на локальном компьютере с помощью Minikube, проверьте, выполнив все команды ниже.
minikube status
kubectl cluster-info
kubectl get nodes
Теперь вы увидите результат ниже.
Кластер Kubernetes запущен и работает на локальном компьютере с IP-адресом 192.168.39.78, используя Kubernetes v1.10 и одиночный узел с именем minikube в качестве мастера кластера.
Шаг 5. Тестирование развертываний
На этом этапе мы протестируем kubernetes, создав новое развертывание для веб-сервера Nginx.
Создайте новый каталог с именем project/nginx/ и перейдите в него.
mkdir -p projects/nginx/
cd projects/nginx/
Теперь создайте новый файл yaml для нашей конфигурации развертывания.
vim nginx-deployment-service.yaml
И вставьте конфигурации ниже.
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: nginx-service
labels:
run: nginx-service
spec:
type: NodePort
ports:
- port: 80
protocol: TCP
selector:
app: nginx
Сохранить и выйти.
Теперь создайте развертывание, выполнив приведенную ниже команду kubectl.
kubectl create -f nginx-deployment.yaml
Когда все будет готово, проверьте развертывание Kubernetes.
kubectl get deployments
kubectl describe deployments nginx-deployment
И вы получите nginx-развертывание в списке.
Теперь проверьте сервис Kubernetes.
kubectl get services
kubectl describe services nginx-service
И вы увидите, что служба NodePort nginx работает на порту 32274.
Проверьте IP-адрес кластера Kubernetes и получите к нему доступ с помощью команды curl.
minikube ip
curl -I http://192.168.39.49:32274/
И вы получите ответ от веб-сервера Nginx.
Ниже показан результат при доступе из веб-браузера.
Шаг 6. Доступ к панели управления Kubernetes
Minikube предоставляет команду для доступа к панели инструментов Kubernetes, работающей в кластере Minikube.
Запустите команду ниже.
minikube dashboard
Команда откроет панель инструментов Kubernetes с помощью веб-браузера по умолчанию в системе.
Ниже представлена панель управления Kubernetes.
Установка Kubenrnetes на локальный компьютер Manjaro/Archlinux с использованием Minikube успешно завершена.