![](https://habrastorage.org/getpro/habr/upload_files/47c/36f/8ed/47c36f8ed3691c7e993860c4e95601f2.png)
В предыдущем блоге мы изучили основы Kubernetes и провели семинар-тренинг с использованием установки Minikube на CentOs. Сейчас мы узнаем, как использовать Kubernetes на Google Cloud Platform, Microsoft Azure и Amazon Web Services.
Запуск Kubernetes на Google Cloud
Google Cloud Platform предлагает размещенный Kubernetes-as-a-Service под названием Google Kubernetes Engine (GKE). Чтобы начать работу с GKE, необходимо иметь учетную запись Google Cloud Platform с включенным биллингом и установить инструмент gcloud на локальной машине или использовать оболочку Cloud shell на Google Cloud Platform.
После установки gcloud сначала установите зону по умолчанию:
gcloud config set compute/zone us-west1-a
Убедитесь, что вы активировали Kubernetes API Engine
затем можно создать кластер с помощью следующей команды:
gcloud container clusters create cluster-1
![](https://habrastorage.org/getpro/habr/upload_files/993/10e/1e4/99310e1e4a6c721414a05b6eba1a93bf.png)
и кластер будет доступен на Google Cloud Platform.
![](https://habrastorage.org/getpro/habr/upload_files/44e/429/dc2/44e429dc2cbe4419232c621bccebd0ae.png)
Это займет несколько минут. Когда кластер будет готов, вы сможете получить учетные данные для него, используя:
gcloud auth application-default login
а затем для учетных данных кластера используйте следующую команду
gcloud container clusters get-credentials <cluster-1> --zone us-west1-a --project <diesel-environs-321507>
и с помощью дальнейшей команды можно проверить, успешно ли теперь установлен kubectl в нашем Google SDK.
kubectl get all
![](https://habrastorage.org/getpro/habr/upload_files/375/fef/3c2/375fef3c2196a33c1478252e3c3b6d7c.png)
Давайте развернем сервер Nginx на кластере, который мы создали ранее. Для развертывания образа Nginx используйте команду
kubectl create deployment g-nginx --image=nginx
и с помощью команды kubectl get pod
или kubectl get all
можно получить результат
![](https://habrastorage.org/getpro/habr/upload_files/424/15a/4c4/42415a4c436bda0703605c1c69804398.png)
Чтобы получить описание подов, используйте команду
kubectl describe pod <pod-name>
Запуск Kubernetes на Amazon Web Services
Создание кластера Kubernetes на Amazon Web Services является сложной задачей по сравнению с Google Kubernetes Service и Amazon Kubernetes Service, поэтому мы будем использовать eksctl для Amazon Web Services. Самый простой способ создания кластера EKS - это использование инструмента командной строки eksctl с открытым исходным кодом.
Руководство по установке инструмента командной строки eksctl
После установки инструмента командной строки eksctl настройте учетные данные AWS и убедитесь, что срок действия токена для доступа к AWS не истек, а затем введите следующую команду. Eksctl запустит процесс развертывания с помощью шаблона формирования облака (cloud formation).
eksctl create cluster
![](https://habrastorage.org/getpro/habr/upload_files/a78/7e0/ffa/a787e0ffa1b9ed8238c2e37b4c3bfa38.png)
Зайдите на портал AWS и перейдите к CloudFormation, вы увидите, что стек создан.
![](https://habrastorage.org/getpro/habr/upload_files/5c0/8cd/f09/5c08cdf091a84955ec81616259f7961b.png)
Теперь вы можете использовать службу Elastic Kubernetes. Чтобы создать кластер на AWS Elastic Kubernetes Service, выполните следующую команду
eksctl create cluster -f g-nginx.yaml
и файл g-nginx.yaml будет выглядеть следующим образом
apiVersion: v1
kind: Pod
metadata:
name: nginx-cm
labels:
role: web
spec:
containers:
- name: nginx-cm
image: nginx
volumeMounts:
- name: conf
mountPath: /etc/nginx/conf.d
volumes:
- name: conf
configMap:
name: nginx-cm
items:
- key: nginx-custom-config.conf
path: default.conf
После создания кластера вы обнаружите, что его учетные данные были добавлены в ~/.kube/config
. Если у вас в PATH есть kubectl
v1.10.x, а также команды aws-iam-authenticator
, то вы должны иметь возможность использовать kubectl
.
Дополнительная документация доступна здесь
Запуск Kubernetes на Microsoft Azure
Чтобы начать работу с Microsoft Azure Kubernetes Service, нам необходимо установить Azure CLI на локальную машину, чтобы с помощью команд мы могли создавать кластеры и поды. Также можете попробовать выполнить команды из оболочки Azure Portal Cloud Shell.
Когда оболочка установлена и работает, можете запускать:
az group create --name=kuberRG --location=eastus
![](https://habrastorage.org/getpro/habr/upload_files/9f7/418/227/9f7418227e5e9e1ce8a4f7a39a380ea3.png)
Теперь мы развернем кластер Kubernetes в этом регионе.
az aks create --resource-group=kuberRG --name=cluster-1 --node-count=2 --generate-ssh-keys
![](https://habrastorage.org/getpro/habr/upload_files/b53/67c/087/b5367c087a45ec0baf45a19e417e87bc.png)
Кластер создан внутри группы ресурсов, давайте подключимся к нему.
Установите идентификатор подписки, выполнив следующую команду
az account set --subscription <ID>
После настройки подписок запросите учетные данные кластера следующей командой
az aks get-credentials --resource-group <RESOURCE_GROUP_NAME> --name <CLUSTER_NAME>
Теперь AKS успешно работает, и вы можете создавать поды и устанавливать в них образы.
![](https://habrastorage.org/getpro/habr/upload_files/48f/a6a/078/48fa6a07890660490acb24a5910076e4.png)
Заключение
Я надеюсь, что этот блог окажется полезным для вас. Вы можете посмотреть мои различные блоги о Kubernetes и облачных вычислениях, а также следить за мной на Medium и Linkedin. Если у вас есть какие-либо вопросы или предложения, свяжитесь со мной.
Материал подготовлен в рамках курса «Инфраструктурная платформа на основе Kubernetes». Если вам интересно узнать подробнее о формате обучения и программе, познакомиться с преподавателем курса — приглашаем на день открытых дверей онлайн. Регистрация здесь.