Kubernetesi algajate juhend: Kuidas tõhusalt hallata konteineripõhiseid rakendusi
Kubernetesi algajate juhend: Kuidas tõhusalt hallata konteineripõhiseid rakendusi
Kubernetes on saanud praegu kõige populaarsemaks konteinerite orkestreerimise platvormiks, pakkudes automatiseeritud lahendust konteineripõhiste rakenduste juurutamiseks, skaleerimiseks ja haldamiseks. Käesolev artikkel pakub algajatele ja kesktaseme arendajatele praktilist juhendit, et aidata teil kiiresti omandada Kubernetes'e põhikontseptsioonid ja praktilised toimingud.
Mis on Kubernetes?
Kubernetes (tavaliselt lühendatud kui K8s) on avatud lähtekoodiga platvorm, mis automatiseerib konteineripõhiste rakenduste juurutamise, skaleerimise ja haldamise. Selle on välja töötanud Google ja annetatud pilvepõhise arvutuse sihtasutusele (CNCF). Kubernetes'e peamine eesmärk on lihtsustada rakenduste elutsükli haldamist ning tagada süsteemi kõrge kättesaadavus ja automatiseeritud haldamine.
Kubernetes'e põhikomponendid
1. Pod
Pod on Kubernetes'es kõige väiksem juurutamise üksus, mis võib sisaldada ühte või mitut konteinerit. Iga Pod jagab võrku ja salvestust, sobides tihedalt seotud teenuste käitamiseks.
apiVersion: v1
kind: Pod
metadata:
name: my-app-pod
spec:
containers:
- name: my-app-container
image: nginx
2. Deployment
Deployment haldab Pod'i elutsüklit, tagades, et määratud arv Pod'e on töötavas olekus, ning võimaldab versioonihaldust ja uuendusi.
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app-deployment
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app-container
image: nginx
3. Service
Service pakub stabiilset juurdepääsu, võimaldades teistel Pod'idel või välistel kasutajatel pääseda juurde töötavatele Pod'idele.
apiVersion: v1
kind: Service
metadata:
name: my-app-service
spec:
type: LoadBalancer
selector:
app: my-app
ports:
- port: 80
targetPort: 80
Kubernetes'e eelised
- Automatiseeritud haldamine: Kubernetes suudab automaatselt juurutada, skaleerida ja hallata konteinerirakendusi, vähendades käsitsi tehtavaid toiminguid ja vähendades vigade tõenäosust.
- Kõrge kättesaadavus: ReplicaSets'i kaudu tagab Kubernetes, et piisav arv Pod'i eksemplare on töötavas olekus; kui mõni eksemplar ebaõnnestub, käivitab süsteem selle automaatselt uuesti või asendab selle.
- Koormuse tasakaalustamine: Kubernetes sisaldab sisseehitatud koormuse tasakaalustamise funktsiooni, mis suudab teenustele liiklust jaotada, tagades ressursside tõhusa kasutamise.
Kuidas kiiresti alustada Kubernetes'ega
1. Keskkonna ettevalmistamine
Esiteks peate seadistama Kubernetes'e keskkonna. Seda saab teha mitmel viisil, näiteks kasutades Minikube'i kohaliku testimise jaoks või seadistades klastrit pilveteenuse pakkujate (nt Google Kubernetes Engine, AWS EKS, Azure AKS) juures.
Kubernetes'e installimine Minikube'i abil
- Installige Minikube ja kubectl
# Installige Minikube (konkreetse installimise meetodi kohta vaadake Minikube'i ametlikku dokumentatsiooni)
brew install minikube
# Installige kubectl
brew install kubectl
- Käivitage Minikube
minikube start
2. Esimese rakenduse juurutamine
Nginx'i näitel saame Nginx'i juurutamiseks määrata Deployment ja Service.
# Looge deployment.yaml fail
cat deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
EOF
# Rakendage juurutamine
kubectl apply -f deployment.yaml
# Looge service.yaml fail
cat service.yaml
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx
ports:
- protocol: TCP
port: 80
targetPort: 80
type: NodePort
EOF
# Rakendage teenus
kubectl apply -f service.yaml
3. Rakendusele juurdepääs
Iga kord, kui loote NodePort tüüpi teenuse, määrab Kubernetes sellele pordi. Juurdepääsu aadressi saamiseks kasutage järgmist käsku:
minikube service nginx-service --url
Kasutage brauserit, et külastada prinditud URL-i, et näha Nginx'i tervituse lehte.
Tavalised vead ja tõrkeotsing
Kubernetes'e kasutamise käigus võite kokku puutuda mõnede tavaliste probleemidega, näiteks kui Pod'i olek on CrashLoopBackOff. See ei ole viga, vaid turvamehhanism; Kubernetes ei taaskäivita Pod'i lõputult, kui see kokku kukub, vaid suurendab iga taaskäivituse vahel viivitust, et vältida süsteemi segadust.
Saate Pod'i logisid vaadata järgmise käsuga, et aidata tõrkeotsingul:
kubectl logs
Kokkuvõte
Kubernetes on võimas konteinerite haldamise tööriist; omandades selle põhikontseptsioonid ja tavalised käsud, suudate tõhusamalt hallata ja juurutada pilvepõhiseid rakendusi. Pilvearvutuse ja konteineritehnoloogia laienemisega avab Kubernetes'e õppimine uusi võimalusi teie karjääri arenguks. Loodan, et see juhend aitab teid Kubernetes'e õppimise teekonnal.





