Minikube: Полное руководство с аддонами и сравнением с k3s¶
Minikube — это инструмент, который позволяет запускать локальный кластер Kubernetes на вашем компьютере. Он предназначен для разработки, тестирования и обучения, предоставляя возможность работать с Kubernetes без необходимости развертывания полноценного кластера в облаке или на физических серверах. Minikube поддерживает различные гипервизоры (VirtualBox, Docker, HyperKit и др.), что делает его универсальным решением для локальной разработки.
Minikube vs k3s¶
Minikube¶
- Цель: Локальная разработка и тестирование Kubernetes.
- Архитектура: Использует виртуальную машину или контейнер для запуска Kubernetes.
- Ресурсы: Требует больше ресурсов, чем k3s.
- Использование: Идеально для разработчиков, тестирующих приложения в условиях, близких к продакшену.
k3s¶
- Цель: Легковесный Kubernetes для edge-устройств и IoT.
- Архитектура: Упрощенная архитектура, удалены некоторые компоненты.
- Ресурсы: Требует меньше ресурсов, чем Minikube.
- Использование: Подходит для устройств с ограниченными мощностями.
Установка Minikube на MacOS ARM¶
- Установите Homebrew:
Основные команды Minikube¶
- Запуск кластера:
Аддоны Minikube¶
Minikube поддерживает множество аддонов, которые расширяют функциональность кластера. Вот полный список с описанием и примерами:

1. Ambassador¶
API-шлюз для управления входящим трафиком.
2. AMD GPU Device Plugin¶
Поддержка GPU AMD для Kubernetes.
3. Auto-pause¶
Автоматическая приостановка кластера при простое.
4. Cloud Spanner¶
Интеграция с Google Cloud Spanner.
5. CSI Hostpath Driver¶
Драйвер для работы с локальными томами.
6. Dashboard¶
Веб-интерфейс для управления Kubernetes.
7. Default StorageClass¶
Автоматическое создание StorageClass.
8. EFK (Elasticsearch, Fluentd, Kibana)¶
Сбор и анализ логов.
9. FreshPod¶
Автоматический перезапуск Pod при изменении конфигурации.
10. GCP Auth¶
Интеграция с Google Cloud Platform для аутентификации.
11. gVisor¶
Песочница для изоляции контейнеров.
12. Headlamp¶
Современный веб-интерфейс для управления Kubernetes.
13. InAccel¶
Ускорение вычислений с использованием FPGA.
14. Ingress¶
Управление входящим трафиком с помощью Ingress-контроллера.
15. Ingress DNS¶
Автоматическое создание DNS-записей для Ingress.
16. Inspektor Gadget¶
Инструмент для отладки и мониторинга Kubernetes.
17. Istio¶
Сервисная сетка для Kubernetes.
18. Istio Provisioner¶
Автоматическая установка Istio.
19. Kong¶
API-шлюз для управления трафиком.
20. Kubeflow¶
Платформа для машинного обучения.
21. KubeVirt¶
Запуск виртуальных машин в Kubernetes.
22. Logviewer¶
Просмотр логов в кластере.
23. MetalLB¶
Реализация LoadBalancer в локальном кластере.
24. Metrics Server¶
Сбор метрик ресурсов в кластере.
25. NVIDIA Device Plugin¶
Поддержка GPU NVIDIA.
26. NVIDIA Driver Installer¶
Автоматическая установка драйверов NVIDIA.
27. NVIDIA GPU Device Plugin¶
Поддержка GPU NVIDIA.
28. OLM (Operator Lifecycle Manager)¶
Управление операторами в Kubernetes.
29. Pod Security Policy¶
Управление политиками безопасности Pod.
30. Portainer¶
Веб-интерфейс для управления контейнерами.
31. Registry¶
Локальный Docker-реестр.
32. Registry Aliases¶
Псевдонимы для локального реестра.
33. Registry Creds¶
Управление учетными данными Docker-реестра.
34. Storage Provisioner¶
Динамическое выделение томов.
35. Storage Provisioner Gluster¶
Поддержка GlusterFS.
36. Storage Provisioner Rancher¶
Поддержка Rancher Local Path Provisioner.
37. Volcano¶
Управление пакетными задачами и планирование.
38. Volume Snapshots¶
Создание снапшотов томов.
39. YAKD (Yet Another Kubernetes Dashboard)¶
Альтернативный веб-интерфейс для управления Kubernetes.
Заключение¶
Minikube — это мощный инструмент для локальной разработки и тестирования Kubernetes. Он предоставляет полноценный Kubernetes-кластер, который можно легко развернуть на локальной машине. В сравнении с k3s, Minikube требует больше ресурсов, но предоставляет более полную среду для тестирования.
Установка Minikube на MacOS ARM проста и выполняется с помощью Homebrew. Основные команды Minikube позволяют управлять кластером, включать аддоны и получать доступ к сервисам. Если вы разрабатываете приложения для Kubernetes, Minikube — это отличный выбор для локальной разработки и тестирования.