Запуск локального Kubernetes кластера с помощью Minikube c KVM2-драйвером

Minikube позволяет запускать одно-нодовый Kubernetes кластер внутри виртуальной машины на локальном компьютере

Проверка поддержки процессором виртуализации

 

Установка minikube
https://kubernetes.io/docs/tasks/tools/install-minikube/

Загрузка бинарника minikube,установка бита исполнения на него и копирование в /usr/local/bin для того,чтобы minikube был доступен в переменной PATH

Для использования minikube предварительно необходимо установить kubectl и kvm2-драйвер

 

Установка и настройка kubectl

Установка kubectl
https://kubernetes.io/docs/tasks/tools/install-kubectl/

 

 

Настройка автодополнения команды kubectl

Проверить/установить пакет bash-completion

Включить автодополнение для текущей сессии/ооблочки

Включение автодополнения команды kubectl при автозагрузки

 

Установка KVM2 драйвера для minikube
https://github.com/kubernetes/minikube/blob/master/docs/drivers.md

Minikube уже имеет встроенные драйверы VirtualBox и VMware Fusion, поэтому никаких дополнительных действий по их использованию не требуется. Тем не менее, другие драйверы требуют наличия дополнительного бинарного файла в PATH хоста.
В данном случае мы запускаем minikube с провайдером виртуализации KVM
Поэтому установим KVM2-драйвер

Для начала установим зависимости KVM2-драйвера

Добавление пользователя, под которым мы работаем, в группу libvirt

Для присоединения к группе libvirt в текущей сессии выполним команду

проверим, что пользователь уже состоит в группе libvirt

Непосредственная установка KVM-драйвера

 

Создание Kubernetes-кластера средствами minikube
https://kubernetes.io/docs/setup/minikube/

По умолчанию minikube запускается в виртуальной машине с такими параметрами

Для того,чтобы использовать KVM2-драйвер в качестве дефолтного драйвера необходимо запускать minikube с помощью команды

Альтернативным вариантом является установка дефолтного драйвера командой

Также при необходимости можно увеличить размер ОЗУ, с которой будет запускаться вирт.машина с помощью параметра —memory=4096

Например, запустим вирт.машину c minikube с ОЗУ 4Gb

Альтернативным вариантом является установка необходимого размера ОЗУ для вирт.машины командой

После чего запуск minikube выполняется командой

Отключить отправку оповещений об ошибках разработчикам

Дефолтная/текущая конфигурация minikube размещается в файле

Параметры переопределнные вручную в файле ~/.minikube/config/config.json

Просмотр значение текущих установок выполненных с помощью команды set

Просмотр параметров, которые могут быть переопределены/изменены

Проверка IP-адреса вирт.машины с minikube

Minikube хранит все свои данные в каталоге
~/.minikube/

Логи minikube доступны в файле

Либо с помощью команды minikube

 

Настройка kubectl

После установки кластера(через kube-up.sh или через minikube) автоматически создается конфигурационный файл kubeconfig кластера.По умолчанию этот файл создается по пути ~/.kube/config

Также текщая конфигурация kubectl доступна по команде

Проверка того, что kubectl настроен корректно и может получить доступ к Kubernetes-кластеру

Более полную информацию о кластере можно получить

Kubectl может поддерживает несколько конфигураций(но активная может быть только одна конфигурация в текущий момент)
Текщая конфигурация kubectl доступна по команде

Просмотр всех контекстов(context), которые используются

Текущая/активная конфигурация определена символом *

Также просмотр текущего контекста доступна по команде

Установить желаемый контекст

Например, установим текущий контекст kubectl на использование контекста с именем minikube

Проверка всех существующих ресурсов в дефолтном namespace

Проверка всех существующих ресурсов в namespace kube-system

Проверка всех существующих ресурсов в namespace kube-public

 

Запуск тестового приложения в Kubernetes
Создание deployment для запуска пода с контейнером из образа

Создание Service с типом NodePort для доступа к запущенному приложению

Просмотр URL, на котором доступен service(такой URL состоит из IP-адреса вирт.машины с minikube и рандомного порта, открытого с помощью предыдущей команды)

Проверка доступности приложения по указанному URL

либо

В выводе обеих команд получаем

Просмотр созданных ресурсов — deployment и service

Выполнение bash-команды в поде

Аналогично,но с заходом в под

Удаление deployment и service

Комментирование и размещение ссылок запрещено.

Комментарии закрыты.

Яндекс.Метрика