Kubernetes-ке кіріспе нұсқаулығы: Контейнерленген қосымшаларды тиімді басқару жолдары
Kubernetes-ке кіріспе нұсқаулығы: Контейнерленген қосымшаларды тиімді басқару жолдары
Kubernetes қазіргі уақытта ең танымал контейнерлік оркестрация платформасы болып табылады, ол контейнерленген қосымшаларды автоматты түрде орналастыру, кеңейту және басқару шешімін ұсынады. Бұл мақала бастаушылар мен орта деңгейдегі әзірлеушілерге Kubernetes-тің негізгі концепциялары мен практикалық операцияларын тез меңгеруге көмектесетін пайдалы кіріспе нұсқаулығын ұсынады.
Kubernetes дегеніміз не?
Kubernetes (әдетте K8s деп қысқартылады) контейнерленген қосымшаларды орналастыру, кеңейту және басқару үшін автоматтандырылған ашық платформа болып табылады. Ол Google тарапынан әзірленіп, Cloud Native Computing Foundation (CNCF) ұйымына берілген. Kubernetes-тің негізгі мақсаты қосымшалардың өмірлік циклін басқаруды жеңілдету және жүйенің жоғары қолжетімділігі мен автоматтандырылған басқарылуын қамтамасыз ету.
Kubernetes-тің негізгі компоненттері
1. Pod
Pod - Kubernetes-тегі ең кіші орналастыру бірлігі, ол бір немесе бірнеше контейнерді қамтуы мүмкін. Әр Pod желі мен сақтау ресурстарын бөліседі, тығыз байланысты қызметтерді іске қосу үшін қолайлы.
apiVersion: v1
kind: Pod
metadata:
name: my-app-pod
spec:
containers:
- name: my-app-container
image: nginx
2. Deployment
Deployment Pod-тың өмірлік циклін басқару үшін қолданылады, белгіленген Pod санының жұмыс істеп тұрғанын қамтамасыз етеді және нұсқаларды басқару мен жаңартуды жүзеге асырады.
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 тұрақты қол жеткізу нүктесін қамтамасыз етеді, басқа Pod немесе сыртқы пайдаланушылардың жұмыс істеп тұрған Pod-қа қол жеткізуіне мүмкіндік береді.
apiVersion: v1
kind: Service
metadata:
name: my-app-service
spec:
type: LoadBalancer
selector:
app: my-app
ports:
- port: 80
targetPort: 80
Kubernetes-тің артықшылықтары
- Автоматтандырылған басқару: Kubernetes контейнерлік қосымшаларды автоматты түрде орналастыру, кеңейту және басқару мүмкіндігін береді, қолмен операцияларды азайтады, қателіктердің ықтималдығын төмендетеді.
- Жоғары қолжетімділік: ReplicaSets арқылы Kubernetes жеткілікті Pod экземплярларының жұмыс істеп тұрғанын қамтамасыз етеді, егер бір экземпляр сәтсіздікке ұшыраса, жүйе автоматты түрде оны қайта іске қосады немесе ауыстырады.
- Жүктемені теңестіру: Kubernetes-те кіріктірілген жүктемені теңестіру функциясы бар, ол қызметтерге трафикті бөлуге мүмкіндік береді, ресурстарды тиімді пайдалануды қамтамасыз етеді.
Kubernetes-ті тез меңгеру жолдары
1. Орта дайындау
Алдымен, сізге Kubernetes ортасын құру қажет. Бұл бірнеше жолмен жүзеге асырылуы мүмкін, мысалы, Minikube-ті жергілікті тестілеу үшін пайдалану немесе бұлт қызметін жеткізушілерде (мысалы, Google Kubernetes Engine, AWS EKS, Azure AKS) кластер құру.
Minikube арқылы Kubernetes-ті орнату
- Minikube және kubectl орнату
# Minikube-ті орнату (нақты орнату әдісін Minikube ресми құжатынан қараңыз)
brew install minikube
# kubectl орнату
brew install kubectl
- Minikube-ті іске қосу
minikube start
2. Бірінші қосымшаны орналастыру
Nginx мысалында, біз Nginx-ті орналастыру үшін Deployment және Service анықтай аламыз.
# deployment.yaml файлын жасау
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
# орналастыруды қолдану
kubectl apply -f deployment.yaml
# service.yaml файлын жасау
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
# қызметті қолдану
kubectl apply -f service.yaml
3. Қосымшаға қол жеткізу
Сіз NodePort типіндегі Service жасаған сайын, Kubernetes оған порт тағайындайды. Қол жеткізу адресін алу үшін келесі команданы пайдаланыңыз:
minikube service nginx-service --url
Браузерде басып шығарылған URL-ге кірсеңіз, Nginx-тің қош келдіңіз беті ашылады.
Жиі кездесетін қателіктер мен жөндеу
Kubernetes-ті пайдалану барысында сіз Pod күйі CrashLoopBackOff сияқты кейбір жиі кездесетін мәселелермен кездесетін боларсыз. Бұл қате емес, қауіпсіздік механизмі, Kubernetes Pod құлағаннан кейін шексіз қайта іске қоспайды, керісінше, әр қайта іске қосу арасында кідіріс қосады, жүйенің шатасуын болдырмау үшін.
Pod-тың журналдарын көру үшін келесі команданы пайдалана аласыз, бұл жөндеуге көмектеседі:
kubectl logs
Қорытынды
Kubernetes - қуатты контейнерлік басқару құралы, оның негізгі концепциялары мен жиі қолданылатын командаларын меңгеру арқылы сіз бұлттық қосымшаларды тиімдірек басқару және орналастыру мүмкіндігіне ие боласыз. Бұлттық есептеу мен контейнерлік технологиялардың таралуымен Kubernetes-ті үйрену сіздің кәсіби дамуыңызға жаңа мүмкіндіктер ашады. Бұл нұсқаулық сізге Kubernetes-ті үйрену жолында көмек пен нұсқау береді деп үміттенеміз.





