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

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

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

В этой теме обсуждаются:

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

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

Для вашего кластера Kubernetes требуется:

  • Kubernetes версии 1.9 или выше.
  • Kubernetes CLI kubectl v1.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, заполненная, как описано в предыдущих шагах:

    приборная панель ГКЭ

Получите учетные данные кластера

  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. Убедитесь, что ни один другой контроллер Nginix не запущен. Проверить это можно, запустив 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.