Предварительные условия для интеграции Kubernetes

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

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

В данной теме обсуждаются следующие вопросы:

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

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

Для работы кластера Kubernetes необходимо:

  • Kubernetes версии 1.9 или выше.
  • Kubernetes CLI kubectl версии 1.9 или выше.
  • Кластер, состоящий как минимум из 3 узлов, каждый из которых имеет 2 виртуальных процессора.

Пример: Создание кластера 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. Выберите размер в 3 узла.
  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. Добавьте клиент edgemicroctl в переменную PATH . Например, выполните следующую команду в системе 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.