Что такое миникубе?
Minikube был разработан, чтобы пользователи могли запускать Kubernetes локально. Когда вы устанавливаете и запускаете Minikube на своем компьютере, он запускает одноузловой кластер Kubernetes внутри виртуальной машины.
Почему Minikube?
Minikube предназначен как для новых пользователей, так и для постоянных разработчиков. Установка Kubernetes требует много времени и ресурсов. С Minikube вы получаете уменьшенную рабочую версию одноузлового кластера Kubernetes на вашем персональном компьютере.
Если вы ученик, это дает вам возможность поиграться и понять основные концепции. Когда вы станете постоянным практиком, вы все равно сможете использовать Minikube для проверки своих идей на месте, прежде чем развернуть его в своем центре обработки данных или на сервере. Он может работать как ваша тестовая среда.
Что вы можете делать с Minikube?
Minikube отлично подходит для изучения Kubernetes и тестирования ваших концепций и идей во время разработки.
Предварительное условие
Несмотря на то, что в этом руководстве нет необходимости, базовые знания о контейнерах, таких как Docker, полезны для понимания Minikube / Kubernetes.
Основные определения концепций Minikube / Kubernetes
Чтобы использовать Minikube, вам необходимо понять основные идеи, обсуждаемые ниже. Определения не пытаются подробно объяснить технологию. Это только дает вам понимание основных концепций Kubernetes. В этом обсуждении Kubernetes и Minikube означают одно и то же
- Контейнер - В Minikube контейнеры используются как строительные блоки для создания приложений.
- Стручок - Pod - это набор из одного или нескольких контейнеров, которые совместно используют хранилище и сетевые ресурсы. Поды содержат определение того, как контейнеры должны запускаться в Minikube. Minikube использует эти определения для поддержки необходимых ресурсов. Например, вы можете определить, что вам нужны два модуля. Во время выполнения, если модуль выходит из строя, Minikube автоматически запускает новый модуль.
- Услуга - Поскольку модули можно заменять, Minikube необходим уровень абстракции, чтобы взаимодействие между различными модулями было бесшовным. Например, если модуль умирает и создается новый модуль, пользователи приложения не должны увязываться в деталях сетевых адресов и связанных с ними проблемах. Сервисы - это оболочки для модулей, создающие уровни абстракции.
- Владелец - Мастер координирует кластер. Это похоже на мозг операции.
- Узел - Рабочие, управляющие стручками.
- kubectl - Это интерфейс командной строки для запуска команд в кластере Kubernetes.
Чтобы лучше понять, как эти концепции сочетаются друг с другом в Kubernetes, посмотрите это короткое видео:
Как установить Minikube
Для вашего оборудования должна быть включена виртуализация в BIOS вашего компьютера. Хорошая новость заключается в том, что на большинстве современных машин это уже включено.
Вот шаги, чтобы установить Minkube на ваш компьютер:
- Установить VirtualBox
- Установить kubectl
- Установить Minikube
Простой пример развертывания на Minikube
После того, как вы все установили, вы можете запустить Minikube с помощью следующей команды:
$ minikube startДоступна более новая версия minikube (v0.28 год.0). Загрузите его здесь:
https: // github.com / kubernetes / minikube / релизы / тег / v0.28 год.0
Чтобы отключить это уведомление, запустите следующее:
Конфигурация minikube установлена WantUpdateNotification false
Запуск локального Kubernetes v1.9.0 кластер…
Запуск ВМ…
Получение IP-адреса ВМ…
Перемещение файлов в кластер…
Настройка сертификатов…
Подключение к кластеру…
Настройка kubeconfig…
Запуск компонентов кластера…
Kubectl теперь настроен на использование кластера.
Загрузка кешированных изображений из файла конфигурации.
При первом запуске потребуется время, чтобы запустить Minikube, поскольку он создаст виртуальную машину для вас. Вы можете проверить свой VirtualBox, чтобы увидеть, как виртуальная машина Minikube раскручивается:
Позже при перезапуске Minikube будет быстрее.
Вы можете использовать следующую команду, чтобы проверить свой статус Minikube:
$ minikube статусminikube: Бег
кластер: Бег
kubectl: правильно настроен: указывает на minikube-vm на 192.168.99.100
Отличная особенность Minikube - это приборная панель. На панели инструментов вы можете видеть все, что происходит в Minikube. Вы также можете управлять ресурсами в своем кластере с панели управления. Используйте следующую команду, чтобы запустить панель управления в браузере по умолчанию:
Панель управления $ minikubeОткрытие панели управления Kubernetes в браузере по умолчанию…
Вот как должна выглядеть дашборд:
Развернем приложение NGINX на Minikube. Вот шаги:
1. Создайте контейнер:
$ kubectl run mynginxapp --image = nginx: latest --port = 80развертывание "mynginxapp" создано
2. Создать услугу:
$ kubectl выставить развертывание mynginxapp --type = NodePortсервис "mynginxapp" открыт
3. Проверьте свой модуль и статус службы:
$ kubectl получить подыНАЗВАНИЕ ГОТОВ СОСТОЯНИЕ ВОЗРАСТ ВОЗВРАЩАЕТСЯ
mynginxapp-6d64b788cc-j5crt 1/1 Бег 0 4 мес
$ kubectl получить услуги
ИМЯ ТИП КЛАСТЕР-IP ВНЕШНИЙ IP-ПОРТ (-И) ВОЗРАСТ
Kubernetes ClusterIP 10.96.0.1
mynginxapp NodePort 10.97.47.26 год
Вы можете видеть, что модуль и служба, запущенная для mynginxapp.
4. Давайте выясним, по какому адресу и на каком порту Minikube работает mynginxapp:
Сервис $ Minikube mynginxapp --URLhttp: // 192.168.99.100: 30964
Если вы перейдете на возвращенный URL (в данном случае это http: // 192.168.99.100: 30964) в своем браузере, вы должны увидеть запущенную службу NGINX.
5. Снова проверьте приборную панель:
Панель управления $ MinikubeОткрытие панели управления Kubernetes в браузере по умолчанию…
6. Удалите службу и модуль и остановите Minikube
$ kubectl удалить службу mynginxappслужба "mynginxapp" удалена
$ kubectl удалить развертывание mynginxapp
развертывание "mynginxapp" удалено
$ Minikube остановка
Остановка локального кластера Kubernetes…
Машина остановлена.
Резюме примера
В этом примере вы сначала развернули модуль NGINX под названием mynginxapp. Образ NGINX был загружен с Docker Hub. Затем вы создали сервис для поддержки модуля. Вы смогли увидеть сервис из браузера. Наконец, вы удалили модуль и службу, а затем остановили Minikube.
Более подробный пример Minikube
Ознакомьтесь с нашими Kubernetes: начало работы статья, в которой есть более подробный пример Minikube.
Викторина - Проверьте свои знания
- Можете ли вы объяснить концепцию контейнеров, модулей и сервисов??
- Как контейнеры, поды и сервисы взаимодействуют друг с другом?
- Что такое kubectl?
- Сколько кластеров Kubernetes вы можете запустить на Minikube?
Дальнейшее изучение
- https: // kubernetes.io / документы / учебные пособия / привет-Minikube
- https: // kubernetes.io / документы / главная
- https: // www.цифровой океан.com / community / tutorials / an-Introduction-to-kubernetes