Поиск по сайту:

Локальное изучение Kubernetes через Minikube на Manjaro/Archlinux


На этой странице

  1. Шаг 1. Установка зависимостей пакетов
  2. Шаг 2. Установите Docker-Machine и драйвер KVM2
  3. Шаг 3. Установите Minikube и Kubectl
  4. Шаг 4. Инициализация Kubernetes с помощью Minikube
  5. Шаг 5. Тестирование развертываний
  6. Шаг 6. Доступ к панели мониторинга Kubernetes
  7. Справочник

Minikube — это инструмент, который позволяет запускать Kubernetes в вашей локальной компьютерной системе. Minikube создаст кластер Kubernetes с одним узлом внутри виртуальной машины в зависимости от используемого вами vm-драйвера. Minikube хорош для изучения Kubernetes, включая тестирование, разработку или обучение.

В этом руководстве мы пошагово покажем вам, как создать кластер Kubernetes с одним узлом локально с помощью Minikube в Manjaro/ArchLinux. В этом руководстве будет реализован кластер Kubernetes локально с помощью драйвера KVM2 и рассмотрен пример развертывания службы Nginx.

Что мы будем делать:

  1. Установка зависимостей пакетов
  2. Установите Docker-машину и драйвер KVM2
  3. Установите Minikube и Kubectl
  4. Инициализация Kubernetes с помощью Minikube
  5. Тестирование развертывания
  6. Доступ к панели управления 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 успешно завершена.

Ссылка