minikube

Установка: https://minikube.sigs.k8s.io/docs/start/

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_1.5.2.deb \
 && sudo dpkg -i minikube_1.5.2.deb

minikube CLI

# --- запуск кластера
minikube start

# --- запуск кластера с поддержкой эфимерных контейнеров
minikube start --feature-gates="EphemeralContainers=true"

# --- заходим на ноду миникуба
minikube ssh

# --- запуск кластера с указанием драйвера virtualbox
minikube start --vm-driver=virtualbox

# --- запуск с заданным количество ресурсов
minikube start --cpus=6 --memory=6g

# --- задаем VirtualBox драйвером по умолчанию
minikube config set vm-driver virtualbox

# --- создание сервиса, к которому будем получать доступ через minikube service
kubectl expose deployment kubia --port=80 --target-port=8080 --type=NodePort

# получить IP-адрес и порт, через который можно обращаться к службе
minikube service --url kubia-http

# --- запустить под с локальным образом

eval $(minikube docker-env)
docker build -t foo:0.0.1 .
kubectl run hello-foo --image=foo:0.0.1 --image-pull-policy=Never
kubectl get pods

Панель управления

minikube addons enable dashboard
minikube dashboard --url

Доступ к приложению

export NODE_PORT=$(kubectl get --namespace chapter3 -o jsonpath="{.spec.ports[0].nodePort}" services wordpress)
export NODE_IP=$(kubectl get nodes --namespace chapter3 -o jsonpath="{.items[0].status.addresses[0].address}")
echo "WordPress URL: http://$NODE_IP:$NODE_PORT/"
echo "WordPress Admin URL: http://$NODE_IP:$NODE_PORT/admin"
echo Password: $(kubectl get secret --namespace chapter3 wordpress -o jsonpath='{.data.wordpress-password}' | base64 --decode)

Полезные команды

Источник - https://minikube.sigs.k8s.io/docs/handbook/

# --- доступ к localhost
ping host.minikube.internal
PING host.minikube.internal (192.168.49.1) 56(84) bytes of data.
64 bytes from host.minikube.internal (192.168.49.1): icmp_seq=1 ttl=63 time=0.077 ms
64 bytes from host.minikube.internal (192.168.49.1): icmp_seq=2 ttl=63 time=0.075 ms