Minikube: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(10 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
[[Kategorie:Kubernetes]]
 +
* Minikube wurde entwickelt, um den Einstieg in Kubernetes zu erleichtern
 +
* Die Software erlaubt es ein Kubernetes-Cluster auf einer einzelnen Maschine laufen zu lassen
 +
* Es soll das Testen von Kubernetes-Anwendungen vereinfachen
 +
* Unterstützte Treiber:
 +
** VirtualBox
 +
** KVM
 +
**QEMU
 +
** Docker
 +
** Hyper-V
 +
* Mindestens einer dieser Treiber muss installiert sein, damit man Minikube benutzen kann
 +
 
= Vorraussetzungen =
 
= Vorraussetzungen =
 
* Debian VM
 
* Debian VM
Zeile 5: Zeile 17:
 
* 20 GB Festplattenspeicher
 
* 20 GB Festplattenspeicher
 
* [[Docker]]
 
* [[Docker]]
 +
* [[kubectl]]
 +
 +
= Installation =
 +
 +
== Als Nutzer ''root'' ==
 +
* '''cd && mkdir ''minikube'' && cd ''minikube'' '''
 +
* '''curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb'''
 +
* '''dpkg -i minikube_latest_amd64.deb'''
 +
* '''gpasswd -a xinux docker'''
 +
 +
== Als Nutzer ''xinux'' ==
 +
* '''minikube start'''
 +
* '''kubectl get pods -A'''
 +
* '''kubectl proxy --address='0.0.0.0' --port=8080 --disable-filter=true'''
 +
* Neues Terminal aufmachen
 +
* '''minikube dashboard'''
 +
* Jetzt sollte das Dashboard unter:
 +
* http://''ip.des.minikube.servers'':8080/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/#/workloads?namespace=_all
 +
 +
= Hello World =
 +
* Ein einfacher Echo-Server kann mit '''kubectl'''-Tools erstellt werden
 +
* '''kubectl create deployment hello-minikube --image=kicbase/echo-server:1.0'''
 +
* '''kubectl expose deployment hello-minikube --type=NodePort --port=8080'''
 +
* '''kubectl get services hello-minikube'''
 +
* '''kubectl port-forward --address='0.0.0.0' service/hello-minikube 7080:8080'''
 +
* Der Port 8080 in diesem Fall ist ein Kubernetes/Docker interner Port und führt nicht zum Konflikt mit dem Proxy für das Dashboard
 +
* Der Port 7080 sollte aber auf der Host-Maschine frei sein
 +
* Der Dienste sollte nun erreichbar sein über
 +
* http://''ip.des.minikube.servers'':7080
 +
 +
Request served by hello-minikube-5c898d8489-jfmhj
 +
 +
HTTP/1.1 GET /
 +
 +
Host: 10.81.3.12:7080
 +
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8
 +
Accept-Encoding: gzip, deflate
 +
Accept-Language: de-DE,de
 +
Cache-Control: max-age=0
 +
Connection: keep-alive
 +
Sec-Gpc: 1
 +
Upgrade-Insecure-Requests: 1
 +
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36

Aktuelle Version vom 14. November 2024, 18:43 Uhr

  • Minikube wurde entwickelt, um den Einstieg in Kubernetes zu erleichtern
  • Die Software erlaubt es ein Kubernetes-Cluster auf einer einzelnen Maschine laufen zu lassen
  • Es soll das Testen von Kubernetes-Anwendungen vereinfachen
  • Unterstützte Treiber:
    • VirtualBox
    • KVM
    • QEMU
    • Docker
    • Hyper-V
  • Mindestens einer dieser Treiber muss installiert sein, damit man Minikube benutzen kann

Vorraussetzungen

  • Debian VM
  • mind. 2 CPU Kerne
  • 2 GB RAM
  • 20 GB Festplattenspeicher
  • Docker
  • kubectl

Installation

Als Nutzer root

Als Nutzer xinux

  • minikube start
  • kubectl get pods -A
  • kubectl proxy --address='0.0.0.0' --port=8080 --disable-filter=true
  • Neues Terminal aufmachen
  • minikube dashboard
  • Jetzt sollte das Dashboard unter:
  • http://ip.des.minikube.servers:8080/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/#/workloads?namespace=_all

Hello World

  • Ein einfacher Echo-Server kann mit kubectl-Tools erstellt werden
  • kubectl create deployment hello-minikube --image=kicbase/echo-server:1.0
  • kubectl expose deployment hello-minikube --type=NodePort --port=8080
  • kubectl get services hello-minikube
  • kubectl port-forward --address='0.0.0.0' service/hello-minikube 7080:8080
  • Der Port 8080 in diesem Fall ist ein Kubernetes/Docker interner Port und führt nicht zum Konflikt mit dem Proxy für das Dashboard
  • Der Port 7080 sollte aber auf der Host-Maschine frei sein
  • Der Dienste sollte nun erreichbar sein über
  • http://ip.des.minikube.servers:7080
Request served by hello-minikube-5c898d8489-jfmhj

HTTP/1.1 GET /

Host: 10.81.3.12:7080
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: de-DE,de
Cache-Control: max-age=0
Connection: keep-alive
Sec-Gpc: 1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36