Kubernetes
Beküldte pzoli - 2025, április 3 - 3:46du
Kapcsolódó hivatkozások
- Install Docker
- Kubernetes (github)
- Install kubectl on Linux package manager
- Containerd
- Minikube
- Kubernetes Tutorial for Beginners [FULL COURSE in 4 Hours YouTube] (git repo)
- YAML validator
Node (fizikai gép)
Cluster komponensek (egy gépen futó rendszer)
- Pod - (alkalmazás elem pl.: docker image)
- Service - Podok elérése, terhelés elosztás kezelése (loadbalance)
- ConfigMap - alkalmazás konfiguráció
- Secrets - alkalmazás base64 kódolással tárolt kulcsai
- Ingress - szolgáltatás külső elérésére alkalmazott komponens
- Volumes - pl.: adatbázis adatállományok perzisztens tárolására csatolt lokális könyvtár vagy távoli fájlrendszer
- Deployment - az egész szolgáltatás vezérlőeleme
- StatefulSet - pl.: elosztott adatbázisok kezelésére (MySQL master/slave replica)
Három szükséges szoftver aminek minden worker node-on futnia kell
- Kublet - a konténer és node menedzselésére
- Kube Proxy
- Docker
Négy szoftver, ami minden master node-on futnia kell
- API server (cluster gateway, authentikátor)
- Scheduler (pod indítása worker node-on)
- Controller manager (állapot változások detektálása - pl.: pod leállás - és folyamatok újra ütemezése)
- etcd (key/value store, a master node agya, ahol az elérhető erőforrások adatai tárolódnak, pl.: melyik node-on mi fut)
kubectl
API-server-el kommunikáló vezérlő program
Deployment készítése:
kubectl create deployment hello-minikube --image=kicbase/echo-server:1.0 kubectl expose deployment hello-minikube --type=NodePort --port=8080 # service listázása kubectl get service hello-minikube kubectl get service hello-minikube -o yaml # minden listázása kubectl get all|grep mongo # ellenőrzés minikube service hello-minikube # service törlése kubectl delete service hello-minikube # port továbbítás kubectl port-forward service/hello-minikube 7080:8080 # deployment-ek listázása kubectl get deployment # deployment szerkesztése kubectl edit deployment nginx-depl # Alapértelmezett szerkesztő beállítása export KUBE_EDITOR=nano # Pod létrehozása kubectl run nginx-pod --image=nginx --restart=Never --port=80 -n default # Pod leírása kubectl describe pod [PODNÉV] kubectl get pod -o wide # Pod napló megjelenítése kubectl logs [PODNÉV] # Pod napló figyelése kubectl logs [PODNÉV] -f # Interaktív terminál nyitása a pod-on futó Docker felé kubectl exec -it [PODNÉV] -- /bin/bash # szolgáltatás a Pod-hoz kubectl expose pod nginx-pod --type=LoadBalancer --port=80 --name=nginx-service # konfiguráció alkalmazása kubectl apply -f valami-konfig.yaml # API erőforrások kubectl api-resources # Szolgáltatás újraindítása pod törlésével kubectl delete mongodb-deployment-6d9d7c68f6-4gk6l
containerd crictl
sudo crictl images list sudo crictl ps -a sudo ctr -n k8s.io images list|grep hello sudo ctr namespace ls
Minikube
Egy tanuláshoz, quickstart-hoz használt, VirtualBox-on futó egygépes rendszer.
wget https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb sudo dpkg -i minikube_latest_amd64.deb wget https://download.virtualbox.org/virtualbox/7.1.6/virtualbox-7.1_7.1.6-167084~Ubuntu~noble_amd64.deb sudo apt-get purge "^virtualbox-.*" sudo dpkg -i virtualbox-7.1_7.1.6-167084~Ubuntu~noble_amd64.deb # cluster létrehozása és indítása minikube start # cluster szervizeinek listája minikube service list # ellenőrzés kubectl get po -A # böngészőben megjelenített vezérlőpult minikube dashboard # bejelentkezés a VirtualBox-ba minikube ssh # service megnyitása minikube service mongo-express-service # basic auth: admin/pass
kubectx
Telepítés:
sudo apt-get install kubectx
- A hozzászóláshoz be kell jelentkezni