Требования для интеграции с Kubernetes

Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X.
Информация

В этой статье описаны шаги, которые необходимо выполнить перед установкой Edge Microgateway в качестве сервиса в кластере Kubernetes.

В этой статье рассматриваются следующие темы:

  • Минимальные требования к кластеру Kubernetes.
  • Как установить и настроить Edge Microgateway.
  • Как установить базовую конфигурацию Edge Microgateway в кластер Kubernetes.

Требования к кластеру Kubernetes

Для работы кластера Kubernetes требуется:

  • Kubernetes версии 1.9 или более поздней.
  • Kubernetes CLI kubectl версии 1.9 или более поздней.
  • Кластер с не менее чем тремя узлами, каждый из которых имеет два виртуальных ЦП.

Пример: создание кластера Kubernetes в Google Kubernetes Engine (GKE)

Как настроить машину администратора Kubernetes

Машина администрирования Kubernetes – это локальный компьютер, который вы используете для выполнения команд в кластере Kubernetes. Обычно это настольный компьютер с доступом к виртуальным машинам Kubernetes.

На компьютере администратора Kubernetes необходимо установить следующие утилиты:

  • Установите интерфейс командной строки kubectl версии 1.9 или более поздней.

  • (Только для GKE) Установите gcloud, если вы используете Kubernetes в GKE.

Как создать кластер Kubernetes в GKE

  1. Войдите в панель управления Google Kubernetes Engine (GKE) на платформе Google Cloud Platform (GCP).
  2. Нажмите Создать кластер.
  3. Выберите Стандартный кластер.
  4. Введите название кластера.
  5. Выберите зону.
  6. Выбрать "Cluster Version 1.9.7-gke-*". Пример: 1.9.7-gke.6.
  7. Выберите размер из трех узлов.
  8. Выберите 2 виртуальных ЦП с 7,5 ГБ памяти.
  9. Нажмите Создать.

    На скриншоте ниже показана заполненная сводка GKE, как описано в предыдущих шагах:

    Панель управления GKE

Как получить учетные данные кластера

  1. Укажите название проекта GKE:

    gcloud config set project projectName
  2. Задайте зону проекта GKE:

    gcloud config set compute/zone zoneName
  3. Получите учетные данные контейнера gcloud:

    gcloud container clusters get-credentials cluster-name --zone zone --project project-name

    где:

    • cluster-name – название созданного вами кластера Kubernetes.
    • zone – это зона, в которой находится ваш кластер.
    • project-name – название вашего проекта GCP.

    Пример:

    gcloud container clusters get-credentials edgemicrogateway-cluster --zone us-central1-a --project edgemicro-project
  4. Выполните следующую команду в точности так, как она показана ниже. Эта команда предоставляет текущему пользователю разрешения администратора кластера. Для создания необходимых правил RBAC для сервиса Edge Microgateway требуются права администратора:

    kubectl create clusterrolebinding cluster-admin-binding --clusterrole=cluster-admin --user=$(gcloud config get-value core/account)
    

Как установить Edge Microgateway для Kubernetes

  1. Скачайте Edge Microgateway для Kubernetes. Если вы используете macOS или Linux, вы можете скачать последнюю или определенную версию, указав ее название.

    Чтобы получить последнюю версию:

    curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -

    Чтобы получить определенную версию по ее номеру. Обратите внимание, что номер версии должен начинаться с буквы "v". Пример: v3.0.2.

    curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -s  version

    Пример:

    curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -s v3.0.2
  2. Перейдите в каталог установки microgateway_Version_OS_ARCH. Пример:

    cd microgateway_2.5.26_Darwin_x86_64
  3. Проверьте каталог установки:

    • /install/kubernetes – файлы конфигурации .yaml для развертывания в Kubernetes.
    • /samples – примеры приложений для тестирования установки.
    • /bin – исполняемый файл edgemicroctl. Команда edgemicroctl внедряет Edge Microgateway в Kubernetes.
  4. Добавьте в PATH клиента edgemicroctl. Например, в системе macOS или Linux выполните следующую команду:

    export PATH=$PWD/bin:$PATH
  5. Примените базовую конфигурацию Edge Microgateway к кластеру Kubernetes. Следующая команда создает пространство имен edgemicro-system и роли кластера.

    kubectl apply -f install/kubernetes/edgemicro.yaml
  6. Установите контроллер NGINX Ingress в кластер. Убедитесь, что не запущен другой контроллер Nginx. Чтобы проверить, так ли это, выполните команду kubectl get pods.

    kubectl apply -f install/kubernetes/edgemicro-nginx-gke.yaml

Как проверить установку

  1. Чтобы проверить, запущен ли контроллер Ingress, выполните следующую команду:

    kubectl get pods --all-namespaces -l app=edgemicro-ingress --watch

    Как видно из приведенного ниже примера выходных данных, для запуска процессов требуется одна-две минуты. Нормально, если перед тем, как значение STATUS изменится на Running, несколько раз появится сообщение об ошибке и произойдет перезапуск.

    NAMESPACE          NAME                                            READY     STATUS             RESTARTS   AGE
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   0/1       CrashLoopBackOff   1          33s
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   0/1       Error              2          33s
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   0/1       CrashLoopBackOff   2          40s
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   0/1       Running            3          1m
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   1/1       Running            3          1m
    
  2. После запуска Ingress вы можете отменить указанную выше команду, введя Ctrl+C.

  3. Выполните эту команду, чтобы проверить, развернуты ли сервисы Kubernetes. Вы должны увидеть результат, похожий на приведенный ниже:

    kubectl get svc -n edgemicro-system
    

    Примеры результатов:

    NAME                        TYPE           CLUSTER-IP     EXTERNAL-IP    PORT(S)                     AGE
    default-http-backend        ClusterIP      10.19.255.106  <none>         80/TCP                       2h
    edgemicro-ingress           LoadBalancer   10.19.247.156  35.224.24.13   80:30176/TCP,443:32325/TCP   2h
    
  4. Убедитесь, что все контейнеры работают:

    kubectl get pods -n edgemicro-system
    

    Примеры результатов:

    NAME                                            READY     STATUS    RESTARTS   AGE
    default-http-backend-55c6c69b88-2lvtw           1/1       Running   0          4m
    edgemicro-ingress-controller-64444469bf-wjhrn   1/1       Running   3          4m
    

Как установить Edge Microgateway

  1. У вас должна быть установлена версия Edge Microgateway 2.5.26 или более поздняя. Чтобы проверить это, введите:

    edgemicro --version
  2. Если у вас не установлена версия Edge Microgateway 2.5.26 или более поздняя, выполните скрипт установки:

    npm install edgemicro -g
  3. Если вы только что установили Edge Microgateway или обновили его, выполните следующую команду:

    edgemicro init

    Если вам нужна дополнительная помощь, ознакомьтесь со статьей Установка Edge Microgateway.

Дальнейшие действия

Теперь вы можете развернуть Edge Microgateway в Kubernetes.