Работа с кластером kubernetes

Введение

Хочу сразу обратить внимание на важный момент. У меня нет опыта промышленной эксплуатации кластера Kubernetes

Я нахожусь в состоянии обучения и исследования этого инструмента. Я прошел обучение Слёрм, это дало базовые знания и понимание принципов работы. Дальше стал разворачивать свои кластера и исследовать их. Изначально я не хотел писать статьи по этой теме до тех пор, пока не накопится достаточного опыта, но сейчас поменял свое мнение.

В рунете очень мало материалов по kubernetes с конкретикой и практикой, по которым можно было бы учиться. Думаю, что даже те знания, что есть сейчас у меня, будут многим полезны и интересны. Плюс, когда пишешь статьи, систематизируешь свои знания, запоминаешь и получаешь обратную связь. Ускоряется процесс обучения. Так что статьям по kubernetes и devops в целом быть. Думаю, что в ближайшее время я сфокусируюсь именно на этом.

Могу однозначно сказать, что если у вас есть необходимость в продакшене использовать Kubernetes, не тяните время и не откладывайте. Идите учиться на курсы. Самостоятельно вы не освоите в достаточном объеме материал, чтобы можно было переносить рабочую нагрузку в свой кластер. Очень много нюансов и подводных камней. Вы потратите больше времени, нервов и денег на самостоятельное освоение, если будете сами все с нуля изучать.

Лично у меня сейчас нет цели становиться администратором Kubernetes. Мой формат занятости не подразумевает обслуживание таких крупных систем и в планах этого тоже пока нет. Мне просто любопытно его исследовать, узнавать что-то новое, поэтому я этим занимаюсь. Знания карман не тянут, особенно современные и востребованные.

Если у вас нет возможности или желания настраивать кластер Kubernetes самостоятельно на своем железе, можете купить его в готовом виде как сервис в облаке Mail.ru Cloud Solutions.

Verify kubectl configuration

In order for kubectl to find and access a Kubernetes cluster, it needs a
kubeconfig file,
which is created automatically when you create a cluster using
kube-up.sh
or successfully deploy a Minikube cluster.
By default, kubectl configuration is located at .

Check that kubectl is properly configured by getting the cluster state:

If you see a URL response, kubectl is correctly configured to access your cluster.

If you see a message similar to the following, kubectl is not configured correctly or is not able to connect to a Kubernetes cluster.

For example, if you are intending to run a Kubernetes cluster on your laptop (locally), you will need a tool like Minikube to be installed first and then re-run the commands stated above.

If kubectl cluster-info returns the url response but you can’t access your cluster, to check whether it is configured properly, use:

Краткое руководство

Эта простая демонстрация поможет запустить, использовать и удалить Minikube на локальной машине. Следуйте перечисленным ниже шагам, чтобы начать знакомство с Minikube.

  1. Запустите Minikube и создайте кластер:

    Вывод будет примерно следующим:

    Дополнительную информацию о запуске кластера в определенной версии Kubernetes, виртуальной машине или среде выполнения контейнера смотрите в разделе .

  2. Теперь вы можете работать со своим кластером через CLI-инструмент kubectl. Для получения дополнительной информации смотрите раздел .

    Давайте создадим развёртывание (Deployment) в Kubernetes, используя существующий образ , представляющий простой HTTP-сервер, и сделаем его доступным на порту 8080 с помощью .

    Вывод будет примерно следующим:

  3. Чтобы получить доступ к объекту Deployment извне, создайте объект сервиса (Service):

    Опция определяет тип сервиса.

    Вывод будет примерно следующим:

  4. Под (Pod) теперь запущен, но нужно подождать, пока он начнёт функционировать, прежде чем обращаться к нему.

    Проверьте, что под работает:

    Если в столбце вывода выводится , значит под все еще создается:

    Если в столбце указано , то под теперь в рабочем состоянии:

  5. Узнайте URL-адрес открытого (exposed) сервиса, чтобы просмотреть подробные сведения о сервисе:

  6. Чтобы ознакомиться с подробной информацией о локальном кластере, скопируйте и откройте полученный из вывода команды на предыдущем шаге URL-адрес в браузере.

    Вывод будет примерно следующим:

    Если сервис и кластер вам больше не нужны, их можно удалить.

  7. Удалите сервис :

    Вывод будет примерно следующим:

  8. Удалите развёртывание :

    Вывод будет примерно следующим:

  9. Остановите локальный кластер Minikube:

    Вывод будет примерно следующим:

    Подробности смотрите в разделе .

  10. Удалите локальный кластер Minikube:

    Вывод будет примерно следующим:

    Подробности смотрите в разделе .

Установка kubectl в Linux

Установка двоичного файла kubectl с помощью curl в Linux

  1. Загрузите последнюю версию с помощью команды:

    Чтобы загрузить определенную версию, вставьте в фрагмент команды нужную версию.

    Например, команда загрузки версии v1.23.0 для Linux будет выглядеть следующим образом:

  2. Сделайте двоичный файл kubectl исполняемым:

  3. Переместите двоичный файл в директорию из переменной окружения PATH:

  4. Убедитесь, что установлена последняя версия:

Установка с помощью стороннего пакетного менеджера

Если вы используйте Ubuntu или другой Linux-дистрибутив, в котором есть пакетный менеджер snap, kubectl доступен в виде приложения snap.

Если вы работаете в Linux и используете пакетный менеджер Homebrew, то kubectl можно через него.

Проверка конфигурации kubectl

Чтобы kubectl мог найти и получить доступ к кластеру Kubernetes, нужен файл kubeconfig, который создаётся автоматически при создании кластера с помощью скрипта kube-up.sh или при успешном развертывании кластера Minikube. По умолчанию конфигурация kubectl находится в .

Посмотрите на состояние кластера, чтобы убедиться, что kubectl правильно сконфигурирован:

Если вы видите URL-ответ, значит kubectl корректно настроен для работы с вашим кластером.

Если вы видите сообщение следующего содержания, то значит kubectl настроен некорректно или не может подключиться к кластеру Kubernetes:

Например, если вы собираетесь запустить кластер Kubernetes на своем ноутбуке (локально), вам потребуется сначала установить специальный для этого инструмент, например Minikube, а затем снова выполнить указанные выше команды.

Если команда возвращает URL-ответ, но вы не можете подключиться к своему кластеру, чтобы убедиться, что он правильно настроен, воспользуйтесь этой командой:

4: Настройка мастер-ноды

Теперь нужно настроить мастер-ноду. Но для начала нужно рассмотреть такие понятия как поды и сетевые плагины Kubernetes.

Под – это базовый элемент, который управляет одним или несколькими контейнерами. Эти контейнеры совместно используют ресурсы, такие как тома файлов и сетевые интерфейсы. Под – это основная единица планирования в Kubernetes: все контейнеры в поде работают на той же ноде, на которой запланирована работа пода.

Каждый под имеет свой собственный IP-адрес; под одной ноды должен иметь доступ к поду на другой ноде по IP-адресу. Контейнеры на одном узле могут легко связываться через локальный интерфейс. Однако связь между контейнерами сложнее, и для этого требуется отдельный сетевой компонент, который может легко маршрутизировать трафик пода на одной ноде к поду на другой.

Эту функцию выполняют сетевые плагины. Один из них, Flannel, будет использоваться в этом кластере.

Создайте плейбук master.yml на локальной машине.

Добавьте в файл такой код, чтобы инициализировать кластер и установить Flannel:

Этот файл делает следующее:

  • Первая задача инициализирует кластер, запустив kubeadm init. Аргумент –pod-network-cidr=10.244.0.0/16 указывает частную подсеть, из которой будут назначаться IP-адреса. Flannel использует указанную выше подсеть по умолчанию; теперь kubeadm тоже будет использовать эту подсеть.
  • Вторая задача создает каталог .kube в /home/ubuntu. В нем будут храниться детали конфигурации (ключи админов, необходимые для подключения к кластеру, и API-адрес кластера).
  • Третья задача копирует файл /etc/kubernetes/admin.conf, сгенерированный командой kubeadm init, в домашний каталог не-root пользователя. Это позволяет использовать kubectl для доступа к кластеру.
  • Последняя задача запускает kubectl apply, чтобы установить Flannel. Синтаксис kubectl apply -f descriptor. позволяет kubectl создавать объекты, описанные в файле descriptor.. Файл kube-flannel.yml содержит описание объектов, необходимых для настройки Flannel в кластере.

Сохраните и закройте файл.

Запустите плейбук локально:

Вы получите такой вывод:

Чтобы проверить состояние мастер-ноды, подключитесь к ней по SSH.

Затем выполните команду:

Вы должны увидеть:

В выводе указано, что мастер-нода выполнила все задачи инициализации и находится в состоянии Ready, то есть может принимать рабочие ноды и выполнять задачи, отправленные на сервер API. Теперь вы можете добавить рабочие ноды.

Подготовка к работе

Чтобы проверить, поддерживается ли виртуализация в Linux, выполните следующую команду и проверьте, что вывод не пустой:

Чтобы проверить, поддерживается ли виртуализация в macOS, выполните следующую команду в терминале:

Если вы видите в выводе (должен быть окрашенным), значит в вашем компьютере поддерживается виртуализация VT-x.

Чтобы проверить, поддерживается ли виртуализация в Windows 8 и выше, выполните следующую команду в Windows Terminal или в командной строке.

Если вы видите следующий вывод, значит виртуализация поддерживается в Windows.

Если вы видите следующий вывод, значит системе уже установлен гипервизор, значит вы можете пропустить следующий шаг установке гипервизора.

Цели

Ваш кластер будет включать следующие физические ресурсы:

Один главный узел

Главный узел (под узлом в Kubernetes подразумевается сервер), отвечающий за управление состоянием кластера. На нем работает система Etcd, которая хранит данные кластера среди компонентов, распределяющих рабочие задачи по рабочим узлам.

Два рабочих узла

Рабочие узлы — это серверы, где выполняются рабочие нагрузки (т. е. приложения и службы в контейнерах). Рабочий узел продолжает выполнять назначенную нагрузку, даже если главный узел отключается после распределения задач. Добавление рабочих узлов позволяет увеличить объем кластера.

После прохождения данного обучающего модуля вы получите кластер, готовый к запуску приложений в контейнерах, при условии, что серверы кластера имеют достаточные ресурсы процессорной мощности и оперативной памяти для выполнения этих приложений. Практически любые традиционные приложения Unix, в том числе веб-приложения, базы данных, демоны и инструменты командной строки, можно поместить в контейнеры и запускать в кластере. Сам кластер потребляет примерно 300-500 МБ оперативной памяти и 10% ресурсов процессора на каждом узле.

После настройки кластера вы развернете веб-сервер Nginx для проверки правильного выполнения рабочей нагрузки.

6: Тестирование кластера

Иногда кластер может выйти из строя во время настройки, потому что нода отключена или соединение между мастером и рабочей нодой установлено неверно. Протестируйте кластер и убедитесь, что все ноды работают правильно.

Вам нужно проверить текущее состояние кластера с мастер-ноды, чтобы убедиться, что все ноды работают. Если вы отключились от мастер-ноды, вы можете создать новое SSH подключение с помощью следующей команды:

Затем выполните эту команду:

Если все ноды в столбце STATUS имеют значение Ready, значит, они являются частью кластера и готовы к обслуживанию рабочих нагрузок.

Но если некоторые из нод имеют статус NotReady, это может значить, что рабочие ноды еще не завершили свою настройку. Подождите 5-10 минут, а затем попробуйте перезапустить kubectl get node. Если несколько нод все еще со статусом NotReady, возможно, вам придется проверить и повторно запустить команды из предыдущих разделов мануала.

Теперь можно попробовать запустить в кластере Nginx.

Дополнительная конфигурация kubectl

Включение автодополнения ввода shell

kubectl поддерживает автодополнение (автозаполнение) ввода в Bash и Zsh, которое сэкономит вам много времени на набор команд.

Ниже приведены инструкции по настройке автодополнения для Bash (для Linux и macOS) и Zsh.

Основные сведения

Скрипт дополнения ввода kubectl для Bash может быть сгенерирован с помощью команды . Подключение скрипта дополнения ввода в вашу оболочку включает поддержку автозаполнения ввода для kubectl.

Однако скрипт дополнения ввода зависит от bash-completion, поэтому вам нужно сначала установить этот пакет (вы можете выполнить команду , чтобы проверить, установлен ли у вас уже bash-completion).

Установка bash-completion

bash-completion можно установить через многие менеджеры пакеты (см. ). Вы можете установить его с помощью или и т.д.

Приведенные выше команды создадут файл , который является основным скриптом bash-completion. В зависимости от используемого менеджера пакетов, вы можете подключить этот файл в файле .

Чтобы убедиться, что этот скрипт выполняется, перезагрузите оболочку и выполните команду . Если команда отработала успешно, установка сделана правильно, в противном случае добавьте следующее содержимое в файл :

Перезагрузите вашу оболочку и убедитесь, что bash-completion правильно установлен, напечатав в терминале .

Включение автодополнения ввода kubectl

Теперь нужно убедиться, что скрипт дополнения ввода kubectl выполняется во всех сессиях командной оболочки. Есть два способа сделать это:

  • Добавьте запуск скрипта дополнения ввода в файл :

  • Добавьте скрипт дополнения ввода в директорию :

  • Если у вас определён псевдоним для kubectl, вы можете интегрировать его с автодополнением оболочки:

Заметка: Все скрипты дополнения ввода bash-completion находятся в .

Оба подхода эквивалентны. После перезагрузки вашей оболочки, должны появляться дополнения ввода kubectl.

Основные сведения

Скрипт дополнения ввода kubectl для Bash может быть сгенерирован с помощью команды . Подключение скрипта дополнения ввода в вашей оболочке включает поддержку автозаполнения ввода для kubectl.

Однако скрипт дополнения ввода kubectl зависит от пакета bash-completion, который первым делом нужно установить.

Предупреждение: Есть две версии bash-completion: первая (v1) и вторая (v2). Первая предназначена для Bash 3.2 (который используется по умолчанию в macOS), а вторая — для Bash 4.1+. Скрипт дополнения ввода kubectl не работает корректно с bash-completion v1 и Bash 3.2. Требуется bash-completion v2 и Bash 4.1+. Таким образом, чтобы правильно использовать дополнение kubectl в macOS, вам нужно установить и использовать Bash 4.1+ (инструкции по обновлению). Последующие шаги предполагают, что вы используете Bash 4.1+ (то есть любую версию Bash 4.1 или более новую).

Установка bash-completion

Заметка: Как уже упоминалось, в этих инструкциях предполагается, что вы используете Bash 4.1+, поэтому вы устанавливаете bash-completion v2 (а не Bash 3.2 и bash-completion v1, в таком случае дополнение ввода kubectl не будет работать).

Вы можете проверить, установлен ли у вас bash-completion v2, набрав команду . Если он не установлен, вы можете сделать это с помощью Homebrew:

Как указано в выводе этой команды, добавьте следующий код в файл :

Перезагрузите вашу командную оболочку и убедитесь, что bash-completion v2 корректно установлен, напечатав в терминале .

Включение автодополнения ввода kubectl

Теперь нужно убедиться, что скрипт дополнения ввода kubectl выполняется во всех сессиях командной оболочки. Есть два способа сделать это:

  • Добавьте запуск скрипта дополнения ввода в файл :

  • Добавьте скрипт дополнения ввода в директорию :

  • Если у вас определён псевдоним для kubectl, вы можете интегрировать его с автодополнением оболочки:

Если вы установили kubectl с помощью Homebrew (как описано ), то скрипт дополнения ввода kubectl уже должен быть находится в . В этом случае вам не нужно ничего делать.

Заметка: Homebrew устанавливает bash-completion v2 в директорию , что делает рабочими два метода.

Какой вариант бы вы не выбрали, после перезагрузки командной оболочки, дополнение ввода kubectl должно заработать.

Скрипт дополнения ввода kubectl для Zsh может быть сгенерирован с помощью команды . Подключение скрипта дополнения ввода в вашу оболочку включает поддержку автозаполнения ввода для kubectl.

Чтобы подключить его во все сессии командной оболочки, добавьте следующую строчку в файл :

Если у вас определён псевдоним для kubectl, вы можете интегрировать его с автодополнением оболочки:

После перезагрузки командной оболочки должны появляться дополнения ввода kubectl.

Если появляется такая ошибка как , то добавьте следующее содержимое в начало вашего файла :

Overview

What is Kubernetes

Kubernetes clusters host containerised applications in a reliable and scalable way. Having DevOps in mind, Kubernetes makes maintenance tasks such as upgrades dead simple.

What is MicroK8s

MicroK8s is a CNCF certified upstream Kubernetes deployment that runs entirely on your workstation or edge device. Being a snap it runs all Kubernetes services natively (i.e. no virtual machines) while packing the entire set of libraries and binaries needed. Installation is limited by how fast you can download a couple of hundred megabytes and the removal of MicroK8s leaves nothing behind.

In this tutorial you’ll learn how to…

  • Get your Kubernetes cluster up and running
  • Enable core Kubernetes addons such as dns and dashboard
  • Control your cluster from the kubectl CLI client
  • Deploy your first container workload

Шаг 3 — Установка зависимостей Kubernetetes

В этом разделе вы научитесь устанавливать требующиеся Kubernetes пакеты уровня операционной системы с помощью диспетчера пакетов Ubuntu. Вот эти пакеты:

  • Docker — среда исполнения контейнеров. Это компонент, который запускает ваши контейнеры. В настоящее время для Kubernetes активно разрабатывается поддержка других сред исполнения, в том числе rkt.

  • — инструмент командной строки, который устанавливает и настраивает различные компоненты кластера стандартным образом.

  • — системная служба / программа, которая работает на всех узлах и обрабатывает операции на уровне узлов.

  • — инструмент командной строки, используемый для отправки команд на кластер через сервер API.

Создайте в рабочем пространстве файл с именем :

Добавьте в файл следующие сценарии, чтобы установить данные пакеты на ваши серверы:

~/kube-cluster/kube-dependencies.yml

Первый сценарий в плейбуке выполняет следующие операции:

  • Устанавливает среду исполнения контейнеров Docker.

  • Устанавливает , позволяя добавлять внешние источники HTTPS в список источников APT.

  • Добавляет ключ apt-key репозитория Kubernetes APT для проверки ключей.

  • Добавляет репозиторий Kubernetes APT в список источников APT ваших удаленных серверов.

  • Устанавливает и .

Второй сценарий состоит из одной задачи, которая устанавливает на главном узле.

Примечание. Хотя документация по Kubernetes рекомендует использовать для вашей среды последнюю стабильную версию Kubernetes, в данном обучающем модуле используется конкретная версия. Это обеспечит успешное следование процедуре, поскольку Kubernetes быстро изменяется и последняя версия может не соответствовать этому обучающему модулю.

Сохраните файл и закройте его после завершения.

Затем запустите плейбук на локальном компьютере:

После завершения вы увидите примерно следующий результат:

После выполнения на всех удаленных серверах будут установлены Docker, и . не является обязательным компонентом и требуется только для выполнения команд кластера. В этом контексте имеет смысл производить установку только на главный узел, поскольку вы будете запускать команды только на главном узле. Однако следует отметить, что команды можно запускать с любых рабочих узлов и на любом компьютере, где их можно установить и настроить для указания на кластер.

Теперь все системные зависимости установлены. Далее мы настроим главный узел и проведем инициализацию кластера.

Запуск контейнера nginx в kubernetes

Начнем с самого простого — создадим один pod, в котором запустим контейнер с последней версией nginx. POD в терминологии kubernetes — это набор контейнеров, объединенных между собой общим linux namespace

Самое важное тут то, что все контейнеры в одном поде связаны между собой сетью в рамках общего localhost. Они не могут использовать один и тот же порт

По сути, кубернетис работает не с докер контейнерами, а именно с подами.

Создаем файл pod-nginx.yaml следующего содержания:

---
apiVersion: v1
kind: Pod
metadata:
  name: pod-nginx
spec:
  containers:
  - image: nginx:1.16
    name: nginx
    ports:
    - containerPort: 80

Внимательно следите за пробелами в начале строк. Нужны именно пробелы, а не табуляция. В Yaml файлах очень важна структура. Запускаем получившийся pod.

# kubectl create -f pod-nginx.yaml
pod/pod-nginx created

Сразу сделаю пояснение насчет команды create. Вместо нее можно, а чаще всего и нужно, так как удобнее, использовать команду apply. Create создает новую абстракцию. Если вы ее измените и снова создадите с тем же именем, то получите ошибку. Вам придется сначала ее удалить, а потом создать заново. Команда apply сначала проверяет наличие абстракции, в данном случае pod-nginx и если ее нет, то создает. А если она уже есть, то просто перезапускает существующую с новыми параметрами.

Проверяем, что получилось.

# kubectl get pod
NAME        READY   STATUS    RESTARTS   AGE
pod-nginx   1/1     Running   0          2m32s

В настоящий момент мы запустили в кластере kubernetes один контейнер с nginx. Существует команда edit, которая позволяет редактировать сущности кластера kubernetes в режиме реального времени. Применение изменений произойдет сразу же после сохранения изменений. Пример:

# kubectl edit pod pod-nginx

Вы увидите полный конфиг пода, который использует кластер. В нем намного больше информации, нежели в вашем yaml файле.

Удалить созданный pod можно следующей командой:

# kubectl delete pod pod-nginx
pod "pod-nginx" deleted

Или сразу все поды:

# kubectl delete pod --all

Integrated commands

There are many commands that ship with MicroK8s. We’ve only seen the essential ones in this tutorial. Explore the others at your own convenience:

  • microk8s status: Provides an overview of the MicroK8s state (running / not running) as well as the set of enabled addons
  • microk8s enable: Enables an addon
  • microk8s disable: Disables an addon
  • microk8s kubectl: Interact with kubernetes
  • microk8s config: Shows the kubernetes config file
  • microk8s istioctl: Interact with the istio services; needs the istio addon to be enabled
  • microk8s inspect: Performs a quick inspection of the MicroK8s intallation
  • microk8s reset: Resets the infrastructure to a clean state
  • microk8s stop: Stops all kubernetes services
  • microk8s start: Starts MicroK8s after it is being stopped

Accessing the Kubernetes dashboard

Now that we have enabled the dns and dashboard addons we can access the available dashboard. To do so we first check the deployment progress of our addons with . It only takes a few minutes to get all pods in the “Running” state:

Kubernetes dashboard

As we see above the kubernetes-dashboard service in the kube-system namespace has a ClusterIP of and listens on TCP port . The ClusterIP is randomly assigned, so if you follow these steps on your host, make sure you check the IP adress you got. Point your browser to and you will see the kubernetes dashboard UI. To access the dashboard use the default token retrieved with:

Установка minikube

Установка Hypervisor

Если у вас ещё не установлен гипервизор, установите один из них:

• KVM, который также использует QEMU

• VirtualBox

Minikube также поддерживает опцию , которая запускает компоненты Kubernetes на хосте, а не на виртуальной машине.
Для использования этого драйвера требуется только Docker и Linux, но не гипервизор.

Если вы используете драйвер в Debian и его производных, используйте пакеты для Docker, а не snap-пакет, который не работает с Minikube.
Вы можете скачать -пакеты с сайта Docker.

Внимание: Драйвера виртуальной машины может привести к проблемам безопасности и потери данных. Перед использованием обратитесь к этой документации для получения дополнительной информации.. Minikube также поддерживает , похожий на драйвер Docker

Podman, работающий с правами суперпользователя (пользователь root) — это лучший способ гарантировать вашим контейнерам полный доступ ко всем возможностям в системе

Minikube также поддерживает , похожий на драйвер Docker. Podman, работающий с правами суперпользователя (пользователь root) — это лучший способ гарантировать вашим контейнерам полный доступ ко всем возможностям в системе.

Внимание: Драйвер должен запускать контейнеры от имени суперпользователя, поскольку у обычных аккаунтов нет полного доступа ко всем возможностям операционной системы, которые могут понадобиться контейнерам для работы.

Установка Minikube через пакет

Доступны экспериментальные пакеты для Minikube; Вы можете загрузить пакеты для Linux (AMD64) со страницы релизов Minikube на GitHub.

Используйте пакетный менеджер в вашем дистрибутиве Linux для установки нужного пакета.

Установка Minikube с помощью прямой ссылки

Вы также можете загрузить двоичный файл и использовать его вместо установки пакета:

Чтобы исполняемый файл Minikube был доступен из любой директории выполните следующие команды:

Установка Hypervisor

Если у вас ещё не установлен гипервизор, установите один из них:

• HyperKit

• VirtualBox

• VMware Fusion

Установка Minikube

Простейший способ установить Minikube в macOS — использовать Homebrew:

Вы также можете установить его в macOS, загрузив двоичный файл:

Чтобы исполняемый файл Minikube был доступен из любой директории выполните следующие команды:

Установка Hypervisor

Если у вас ещё не установлен гипервизор, установите один из них:

• Hyper-V

• VirtualBox

Заметка: Hyper-V может работать в трёх версиях Windows 10: Windows 10 Enterprise, Windows 10 Professional и Windows 10 Education.

Установка Minikube с помощью Chocolatey

Простейший способ установить Minikube в Windows — использовать Chocolatey (запущенный с правами администратора):

После установки Minikube нужно перезапустить терминал. Minikube должен быть автоматически добавлен в директорию с исполняемыми файлами.

Установка Minikube с помощью прямой ссылки

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

Заключение

Если вы не знаете, что делать с кластером дальше, когда он настроен, попробуйте развернуть в нем свои приложения и сервисы. Вот список ссылок, которые могут помочь вам в этом процессе:

На сайте Docker можно найти примеры, подробно описывающие, как контейнеризировать приложения.

Этот обзор подробно описывает, как работают поды, и объясняет их связь с другими объектами Kubernetes.

Этот обзор расскажет вам о развертываниях в Kubernetes

Понимать, как работают развертывания, очень важно, поскольку они часто используются для масштабирования и автоматического восстановления приложений.
По этой ссылке вы найдете обзор сервисов.. Kubernetes поддерживает много хороших функций

Официальная документация Kubernetes – лучшее место для изучения понятий, поиска руководств по конкретным задачам и ссылок API для различных объектов

Kubernetes поддерживает много хороших функций. Официальная документация Kubernetes – лучшее место для изучения понятий, поиска руководств по конкретным задачам и ссылок API для различных объектов.

AnsibleflannelkubeadmKubernetesNGINXUbuntu 16.04

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: