По долгу службы я тестирую достаточно много "новых штук".
И достаточно часто я делаю это локально, на своей машине.
Речь сейчас пойдет про запуск k8s локально.
Какие есть инструменты для запуска:
- minikube - отличный инструмент, пользуюсь им давно, есть множество вариантов запуска, драйверов, плагинов и т.д.
На выходе получим k8s версии 1.28.3, с сетевым плагином calico, а hyperkit это как раз драйвер для запуска в MacOS (k8s будет внутри ВМ).
minikube start --cpus 6 --memory 8192 --kubernetes-version=1.28.3 --cni=calico --driver=hyperkit.
- kind - весьма неплохой инструмент, умеет в достаточно расширенный конфиг, декларативное описание конфигурации, и так как
кластер запускается в docker-контейнерах все это можно запустить в условной CI/CD пайплайне.
Пример описания кластера:
Ну и запустить мы можем следующей командой:
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
image: kindest/node:v1.21.10@sha256:84709f09756ba4f863769bdcabe5edafc2ada72d3c8c44d6515fc581b66b029c
- role: worker
image: kindest/node:v1.21.10@sha256:84709f09756ba4f863769bdcabe5edafc2ada72d3c8c44d6515fc581b66b029c
- Не забываем о том что в Docker Desktop тоже есть возможность запуска k8s кластера, но его я не использовал ниразу ^_^
kind create cluster --config kind-config.yaml
- Что еще - k3s, k0s, k3d, orbstack, etc.
Ну а что использовать - решать только вам =)
UPD - minikube, kind я запускал на маке x86