MINIKUBE
Nei pc è possibile usare K8s tramite una versione più leggera che permette di avere un solo node.
Si tratta di minikube, nei Sistemi Ubuntu si può utilizzare anche Microk8s.
Qui vediamo alcune funzionalità di minikube.
minikube ssh
permette di entrare all'interno della VM, qui è possibile creare delle directory e copiare file ed usare docker
per creare/eseguire immagini
Copiare file all'interno di MINIKUBE
minikube cp source file path target node name target file absolute path [flags]
vediamo un esempio
minikube cp path/nome_file minikube:/home/docker/...../nome_file >
file x file perchè vuole absolute path
minikube node list # permette di vedere il node con l'indirippo ip
KUBECTL
Kubectl è lo strumento che ci permette di comunicare con il Control Panel per gestire il Cluster. Vediamo la struttura del comando.
kubectl [command] [type] [name] [flags]
command --> get, describe, delete, logs, exec, apply, expose, cp, run, scale, ecc...
type --> pods, deployments, nodes, service
name --> nome delle risorse create
flags --> -o=yaml
Sotto alcuni esempi del comando.
kubectl create deployment ..... --image=tag_name:version # create deployment da img creata con DOCKER
kubectl expose deployment ..... --type=LoadBalancer --port=5000 # espone i pods all'esterno tramite LoadBalancer/NodePort
kubectl port-forward name_pod 8088:80
kubectl get deployment # view tutti i deployment attivi
kubectl get pods # view tutti i pods in esecuzione
kubectl describe pods # view caratteristiche dei pods attivi
kubectl logs # view logs
kubectl config view # view configurazione
kubectl cluster-info # get info del cluster
kubectl apply -f nome_file.yaml # apply comando a risorsa inserita nel file yaml
kubectl exec -it nome_pod /bin/bash # esegue comando in un pod
kubectl scale deployment name_deployment -replicas=3 # aumenta numero pods fino a 3
kubectl autoscale deployment name_depl --min=3 --max=5 --cpu-percent=75 # set autoscale tra 3 e 5 pods
kubectl get svc # view service attivi
kubectl cp ~/test.html $name_pod:/usr/share/../test.html # copia file nel pod
minikube service ..... # crea tunnel per permettere di collegare il loadbalancer a localhost
prendere porta rilasciata e nel browser mettendo localhost:porta si ha l'applicazione
minikube addons list
minikube addons enable dashboard # abilita la dashboard
minikube dashboard # entrare nella dashboard