Жылдам бастау
Жылдам бастау сервиспен жұмысты бастауға және оның мүмкіндіктерімен танысуға көмектеседі.
Жылдам бастаудың барлық қадамдарынан өткен соң, сіз:
- Шағын Kubernetes кластерін жасайсыз.
- Оған қосылуды үйренесіз.
- Kubernetes-пен және оған арналған аддондармен танысасыз:
- Басқару мен мониторингке арналған құралдарды қосасыз.
- Docker-образдарды Docker тізіліміне жүктейсіз.
- Жүктелген образдар негізінде қарапайым қолданбаларды, VK Object Storage қоймасын пайдалану мүмкіндігімен, орналастырасыз.
- Ingress-контроллер арқылы орналастырылған қолданбаларға қол жеткізуді ұсынасыз.
- Бұл қолданбалардың шынымен жұмыс істейтініне көз жеткізесіз.
-
Өтіңіз VK Cloud жеке кабинетіне.
-
Кластер орналастырылатын жобаны таңдаңыз.
-
Контейнерлер → Кластеры Kubernetes бөліміне өтіңіз.
-
Егер таңдалған жобада әлі бірде-бір кластер болмаса, Кластер жасау түймесін басыңыз. Әйтпесе Қосу түймесін басыңыз.
-
Новое поколение опциясын таңдап, Жалғастыру түймесін басыңыз.
-
Конфигурация блогында қолжетімді нұсқалардың ішінен Kubernetes-тің соңғы нұсқасын таңдаңыз.
-
Мастер узлы блогындағы Баптау түймесін басып, мыналарды орнатыңыз:
-
Кластер атауы: мысалы,
vk-cloud-k8s-quickstart. -
Кластер түрі:
Стандартный. -
Қолжетімділік аймағы:
Москва (MS1). -
Қалған баптауларды өзгеріссіз қалдырыңыз.
-
-
Желі және баптаулар блогындағы Баптау түймесін басып, мыналарды орнатыңыз:
- Желі:
Жаңа желі жасау. - Сыртқы IP тағайындау: осы опцияның таңдалғанына көз жеткізіңіз.
- Қалған баптауларды өзгеріссіз қалдырыңыз.
- Желі:
-
Торап топтары блогындағы Баптау түймесін басып, мыналарды орнатыңыз:
-
Node-тораптар түрі:
STD3-4-4. -
Қолжетімділік аймағы:
Москва (MS1). -
Қалған баптауларды өзгеріссіз қалдырыңыз.
-
-
Жасау түймесін басыңыз.
Кластерді жасау аяқталғанша күтіңіз, бұл процесс ұзақ уақыт алуы мүмкін.
-
docker-registryаддонын орнатыңыз.Docker тізіліміне қол жеткізу деректерін жазып алыңыз.
-
kube-prometheus-stackаддонын орнатыңыз.Grafana веб-интерфейсіне қол жеткізу құпиясөзін жазып алыңыз.
-
ingress-nginxаддонын әдепкі параметрлермен орнатыңыз.Жүктеме теңгергішіне арналған Floating IP-мекенжайды жазып алыңыз.
Одан әрі командалар мен конфигурациялық файлдарда мысал ретінде келесі мәндер пайдаланылады. Оларды өзіңіз үшін өзекті мәндермен ауыстырыңыз.
Параметр | Мәні |
|---|---|
Ingress-контроллерге арналған жүктеме теңгергішінің IP-мекенжайы | 192.0.2.2 |
Docker тізілімінің эндпоинт URL-і | 192.0.2.22:5000 |
Docker тізілімі пайдаланушысының логині | registry |
Docker тізілімі пайдаланушысының құпиясөзі | registry-password-123456 |
Grafana үшін admin пайдаланушысының құпиясөзі | grafana-password-123456 |
Кластермен жұмыс істейтін хостты баптаңыз. Бұл нақты компьютер де, виртуалды машина да болуы мүмкін.
Хостқа келесі құралдарды орнатыңыз:
-
Браузер.
-
kubectlутилитасы. Толығырақ kubectl көмегімен кластерге қосылу бөлімінде және ресми құжаттамада. -
client-keystone-authутилитасы. Толығырақ kubectl көмегімен кластерге қосылу бөлімінде. -
curl утилитасы.
-
- Windows және macOS үшін: Docker Desktop.
- Linux үшін де Docker Desktop ұсынылады, алайда Docker-ді пәрмен жолынан орнатып, пайдалана аласыз.
-
Жеке кабинетте кластерге қосылу орындалатын пайдаланушы үшін Администратор Kubernetes рөлін қосыңыз:
- Өтіңіз VK Cloud жеке кабинетіне.
- Бұрын жасалған кластер орналасқан жобаны таңдаңыз.
- Қолжетімділіктерді басқару бөліміне өтіңіз.
- Қажетті пайдаланушы үшін
батырмасын басып, Өңдеу тармағын таңдаңыз.
- Ашылмалы тізімнен Администратор Kubernetes рөлін таңдаңыз.
- Өзгерістерді сақтаңыз.
-
Осы пайдаланушы үшін API арқылы қолжетімділікті белсендіріңіз.
-
VK Cloud жеке кабинетінде кластер үшін kubeconfig алыңыз:
- Кластеры Kubernetes → Кластеры Kubernetes бөліміне өтіңіз.
- Қажетті кластер үшін
батырмасын басып, Кластерге қол жеткізу үшін Kubeconfig алу тармағын таңдаңыз.
-
kubectlпайдалану кезінде қосымша аргументтерді көрсетпеу үшін kubeconfig-ті~/.kubeдиректориясына жылжытыңыз.Төмендегі командаларда kubeconfig
~/Downloadsдиректориясынаmycluster_kubeconfig.yamlатауымен жүктелген деп есептеледі.Linux/macOSWindowsmkdir ~/.kube && \mv ~/Downloads/mycluster_kubeconfig.yaml ~/.kube/config -
kubeconfig-ке жолды
$KUBECONFIGорта айнымалысында көрсетіңіз:Linux/macOSWindowsexport KUBECONFIG=/home/user/.kube/mycluster_kubeconfig.yaml -
kubectlкластерге қосыла алатынын тексеріңіз:-
Команданы орындаңыз:
kubectl cluster-info -
VK Cloud жеке кабинетінің пайдаланушы құпиясөзін енгізіңіз.
Егер кластер қалыпты жұмыс істесе және
kubectlонымен жұмыс істеуге бапталған болса, мынаған ұқсас ақпарат шығарылады:Kubernetes control plane is running at...CoreDNS is running at...To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'. -
Кластерде Prometheus және Grafana негізіндегі мониторинг құралдары бар аддон орнатылды.
-
Терминалдың бөлек сессиясында команданы орындаңыз:
kubectl -n prometheus-monitoring port-forward service/kube-prometheus-stack-grafana 8001:80 -
Grafana веб-интерфейсін ашыңыз:
- Браузерде
http://127.0.0.1:8001/URL-іне өтіңіз. admin/grafana-password-123456логин/құпиясөз жұбы арқылы авторизациядан өтіңіз.- Егер құпиясөзді ауыстыру сұралса, оны ауыстырыңыз.
- Браузерде
-
Кластер ресурстары туралы ақпарат алу үшін бүйірлік мәзірден кез келген алдын ала бапталған дашбордты Dashboards → Browse таңдаңыз.
Кластерде Docker-образдар сақталатын Docker тізілімі аддоны орнатылды.
Өз образдарыңызды Docker тізіліміне орналастыру үшін:
-
Docker тізілімін сенімді тізілімдер тізіміне қосыңыз:
-
Docker
daemon.jsonконфигурациялық файлына Docker тізілімі эндпоинтінің URL-і бар келесі параметрді қосыңыз:{..."insecure-registries": ["192.0.2.22:5000"],...}Бұл файлдың әртүрлі Docker Engine орнатылымдары үшін орналасуы Docker ресми құжаттамасында келтірілген.
-
Docker Engine-ді қайта іске қосыңыз.
LinuxWindowsmacOSКелесі әрекеттердің бірін орындаңыз:
-
Қайта іске қосу үшін командалардың бірін пайдаланыңыз:
sudo systemd restart dockersudo service docker restart -
Егер орнатылған болса, Docker Desktop графикалық интерфейсінен Docker Engine-ді қайта іске қосыңыз.
-
-
-
Docker-образды жинаңыз:
-
Файлдарға арналған директорияны жасап, оған өтіңіз:
Linux/macOSWindowsmkdir ~/image-build && cd ~/image-build -
Осы директорияға келесі файлдарды орналастырыңыз:
-
Образды жинауды іске қосыңыз:
docker build . -t 192.0.2.22:5000/nginx-k8s-demo:latest
Образды жинаудың аяқталуын күтіңіз.
-
-
Жиналған образды Docker тізіліміне орналастырыңыз:
-
Тізілімге кіріңіз:
docker login 192.0.2.22:5000 --username registry --password registry-password-123456 -
Образды пуштаңыз:
docker push 192.0.2.22:5000/nginx-k8s-demo:latest -
Образдың тізілімде бар екенін тексеріңіз:
curl -k -X GET -u registry:registry-password-123456 https://192.0.2.22:5000/v2/_catalogМынаған ұқсас ақпарат шығуы тиіс:
{"repositories":["nginx-k8s-demo"]} -
Kubernetes-тен жүктелген образға қол жеткізу үшін Kubernetes құпиясын жасаңыз:
kubectl create secret docker-registry k8s-registry-creds --docker-server=192.0.2.22:5000 --docker-username=registry --docker-password=registry-password-123456
-
Docker тізіліміне жүктелген nginx-k8s-demo образы негізінде tea және coffee атты екі қосымша жайылдырылады.
Әрбір қосымша үшін мыналар жасалады:
- Деректер томдарын қосымша ішіне монтирлеу үшін Persistent Volume Claim.
- Deployment, онда мыналар беріледі:
- Реплика саны.
- Подқа монтирлеуге арналған том.
- Қосымшаға қолжетімділікті қамтамасыз ету үшін Service. Кейіннен Ingress-контроллер кіріс сұрауларын осы Service-ке қайта жібереді.
Қосымшаларды жайылдыру үшін:
-
Файлдарға арналған директорияны жасап, оған өтіңіз:
Linux/macOSWindowsmkdir ~/k8s-deployments && cd ~/k8s-deployments -
Осы директорияға келесі файлдарды орналастырыңыз:
-
Қосымшаларды жайылдырыңыз:
kubectl apply -f deploy-coffee.yaml -f deploy-tea.yaml -
Жайылдырудың дұрыстығын тексеріңіз:
Тұрақты томдарЖұмыс жүктемесіСервистерТәсілдердің бірін пайдаланыңыз:
-
kubectl: команданы орындаңыз.kubectl get pv -
Grafana: Kubernetes → Compute Resources → Persistent Volumes дашбордын ашыңыз.
teaжәнеcoffeedeployments үшін Persistent Volume Claim арқылы жасалған көлемі 1 ГБ тұрақты томдардың бар екені туралы ақпарат көрінеді. -
Кластерде пайдаланушылардың кіріс сұрауларын кластерде жайылдырылған қосымшаларға бағдарлауға мүмкіндік беретін NGINX Ingress-контроллері аддоны орнатылды.
Ingress-контроллер tea және coffee демо-қосымшалары жарияланған тиісті Service ресурстарына сұрауларды бағыттауы үшін:
-
~/k8s-deploymentsдиректориясына келесі файлды орналастырыңыз: -
Ingress ресурсын жайылдырыңыз:
kubectl apply -f deploy-ingress.yaml -
Команданы орындап,
kubectlкөмегімен жайылдырудың дұрыстығын тексеріңіз:kubectl get ingressЖұмыс істеп тұрған Ingress ресурсының бар екені туралы ақпарат көрінеді.
Мысалдың жұмысқа қабілеттілігін тексеру үшін curl көмегімен жүктеме теңгергішінің 192.0.2.2 IP-мекенжайына сұраулар орындаңыз. Теңгергішпен байланысқан Ingress-контроллер бұл сұрауларды кейін қажетті қосымшаларға жеткізеді.
Сұраулар:
curl --resolve cafe.example.com:80:192.0.2.2 http://cafe.example.com/tea
Мынаған ұқсас ақпарат шығуы тиіс:
Server address: 10.100.109.3:8080Server name: tea-8697dc7b86-s5vgnDate: 24/Aug/2022:09:27:34 +0000URI: /teaRequest ID: ed83bd555afd25c103bfa05ee12cbfffRemote address (NGINX Ingress Controller): <Ingress-контроллерінің IP-мекенжайы>X-Forwarded-For (Request source): <сұрау орындалған хосттың IP-мекенжайы>K8S Persistent Volume status: present
Мұндай нәтиже мынаны көрсетеді:
- Кластерлік Docker тізіліміндегі Docker-образдарды пайдаланатын қолданбаларды іске қосуға болады.
- Persistent Volume Claim көмегімен VK Cloud сақтау орнын подтарға монтирлеуге болады.
- Кластермен бірге берілетін Ingress-контроллер дұрыс бапталған, себебі ол сұрау көзіне тиесілі нақты IP-мекенжайды көрсетеді.
Жұмыс істеп тұрған кластер есептеу ресурстарын тұтынады. Егер ол сізге енді қажет болмаса:
- Кейінірек пайдалану үшін кластерді тоқтатыңыз немесе оны біржола жойыңыз.
- Жүктеме теңгергіштерін жойыңыз.