Syntax highlighting of devops/kubernetes/minikube

= minikube =

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

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

}}}

== CLI ==

{{{#!highlight bash
# --- запуск кластера
minikube start

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

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

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

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

# To make virtualbox the default driver:
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

}}}

Accessing to application

{{{#!highlight bash
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)

}}}

== Dashboard ==

{{{#!highlight bash
minikube addons enable dashboard
minikube dashboard --url

}}}