В предыдущем блоге мы изучили основы 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

и кластер будет доступен на Google Cloud Platform.

Это займет несколько минут. Когда кластер будет готов, вы сможете получить учетные данные для него, используя:

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

Давайте развернем сервер Nginx на кластере, который мы создали ранее. Для развертывания образа Nginx используйте команду

kubectl create deployment g-nginx --image=nginx

и с помощью команды kubectl get pod или kubectl get all можно получить результат 

Чтобы получить описание подов, используйте команду

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

Зайдите на портал AWS и перейдите к CloudFormation, вы увидите, что стек создан.

Теперь вы можете использовать службу 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

Теперь мы развернем кластер Kubernetes в этом регионе.

az aks create --resource-group=kuberRG --name=cluster-1 --node-count=2 --generate-ssh-keys

Кластер создан внутри группы ресурсов, давайте подключимся к нему.

Установите идентификатор подписки, выполнив следующую команду

az account set --subscription <ID>

После настройки подписок запросите учетные данные кластера следующей командой

az aks get-credentials --resource-group <RESOURCE_GROUP_NAME> --name <CLUSTER_NAME>

Теперь AKS успешно работает, и вы можете создавать поды и устанавливать в них образы.

Заключение

Я надеюсь, что этот блог окажется полезным для вас. Вы можете посмотреть мои различные блоги о Kubernetes и облачных вычислениях, а также следить за мной на Medium и Linkedin. Если у вас есть какие-либо вопросы или предложения, свяжитесь со мной.


Материал подготовлен в рамках курса «Инфраструктурная платформа на основе Kubernetes». Если вам интересно узнать подробнее о формате обучения и программе, познакомиться с преподавателем курса — приглашаем на день открытых дверей онлайн. Регистрация здесь.

Комментарии (0)