K8s (Kubernetes) mit Minikube

Installation

https://minikube.sigs.k8s.io/docs/start/

Installation
brew install minikube
brew install kubernetes-cli
minikube start
kubectl get pods
Installation Dashboard
minikube addons enable metrics-server
minikube dashboard &

Image bauen und Deployment starten

Erzeuge ein Image uns füge es der lokalen Docker-Registry hinzu:

Bauen eines Images für Minikube
source <(minikube docker-env)
cd lokales-image-to-run
docker build -t name-lokales-image-to-run .

Anlegen einer Deployment-Yaml:

Deployment für das Image: deployment_my-localtest.yaml`
apiVersion: apps/v1
kind: Deployment
metadata:
  name: localtest
  labels:
    app.kubernetes.io/name: my-localtest
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: my-localtest
  template:
    metadata:
      labels:
        app.kubernetes.io/name: my-localtest
    spec:
      containers:
        - name: localtest
          image: name-lokales-image-to-run
          imagePullPolicy: Never

Starten des Deployments:

Beispiel für ein Deployment
cd local_tests/
kubectl apply -f deployment_my-localtest.yaml
kubectl get all
kubectl exec -it pods/localtest-... -- bash

Start Minikube

Start von Minikube
$ minikube start
😄  minikube v1.32.0 auf Darwin 14.3.1
✨  Verwende den Treiber qemu2 basierend auf dem existierenden Profil
👍  Starte Control Plane Node minikube in Cluster minikube
🔄  Starte existierenden qemu2 VM für "minikube" ...
🐳  Vorbereiten von Kubernetes v1.28.3 auf Docker 24.0.7...
🔗  Konfiguriere bridge CNI (Container Networking Interface) ...
     Verwende Image docker.io/kubernetesui/dashboard:v2.7.0
     Verwende Image docker.io/kubernetesui/metrics-scraper:v1.0.8
     Verwende Image registry.k8s.io/metrics-server/metrics-server:v0.6.4
🔎  Verifiziere Kubernetes Komponenten...
     Verwende Image gcr.io/k8s-minikube/storage-provisioner:v5

💡  Einige Dashboard Features erfordern das metrics-server Addon. Um alle Features zu aktivieren:

    minikube addons enable metrics-server

🌟  Addons aktiviert: metrics-server, storage-provisioner, dashboard, default-storageclass
🏄  Fertig! kubectl ist jetzt für die standardmäßige (default) Verwendung des Clusters "minikube" und des Namespaces "default" konfiguriert


$ minikube addons enable metrics-server
💡  metrics-server is an addon maintained by Kubernetes. For any concerns contact minikube on GitHub.
You can view the list of minikube maintainers at: https://github.com/kubernetes/minikube/blob/master/OWNERS
     Verwende Image registry.k8s.io/metrics-server/metrics-server:v0.6.4

$ minikube dashboard &
🤔  Verifiziere Dashboard Funktionalität ...
🚀  Starte Proxy ...
🤔  Verifiziere Proxy Funktionalität ...
🎉  Öffne http://127.0.0.1:50889/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ im Default-Browser...

Stop Minikube

Stop von Minikube
$ minikube stop
✋  Stoppe Node "minikube" ...
🛑  1 Node angehalten.