Kubernetes 集成的前提条件

您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档
信息

本主题介绍了在 Kubernetes 集群中将 Edge Microgate 作为服务进行安装之前必须完成的步骤。

本主题讨论以下内容:

  • Kubernetes 集群的最低要求。
  • 如何安装和配置 Edge Microgate。
  • 如何将 Edge Microgate 的基本配置安装到 Kubernetes 集群中。

针对 Kubernetes 集群的要求

您的 Kubernetes 集群需要:

  • Kubernetes 1.9 或更高版本。
  • Kubernetes CLI kubectl v1.9 或更高版本。
  • 至少包含 3 个节点的集群,每个节点有 2 个 vCPU。

示例:在 Google Kubernetes Engine (GKE) 上创建 Kubernetes 集群

设置 Kubernetes 管理机器

Kubernetes 管理机器是用于对 Kubernetes 集群运行命令的本地机器。此机器通常是可以访问 Kubernetes 虚拟机的桌面设备。

您必须在 Kubernetes 管理机器上安装以下实用程序:

  • 安装 kubectl 命令行界面 1.9 或更高版本。

  • (仅限 GKE)如果您在 GKE 上运行 Kubernetes,请安装 gcloud

在 GKE 上创建 Kubernetes 集群

  1. 登录 Google Cloud Platform (GCP) 上的 Google Kubernetes Engine (GKE) 信息中心。
  2. 点击创建集群
  3. 选择标准集群
  4. 输入集群的名称。
  5. 选择一个可用区。
  6. 选择 Cluster Version 1.9.7-gke-*。例如 1.9.7-gke.6
  7. 选择 3 个节点的大小。
  8. 选择 2 个配备 7.5 GB 内存的 vCPU。
  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. 完全按照所示方式执行以下命令。该命令会向当前用户授予集群管理员权限。您需要拥有管理员权限,才能为 Edge Microgate 服务创建必要的 RBAC 规则:

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

安装适用于 Kubernetes 的 Edge Microgateway

  1. 下载适用于 Kubernetes 的 Edge Microgate。如果您使用的是 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 - 用于部署到 Kubernetes 的配置 .yaml 文件。
    • /samples - 用于测试安装的示例应用。
    • /bin - edgemicroctl 可执行文件。edgemicroctl 命令将 Edge Microgate 注入 Kubernetes
  4. edgemicroctl 客户端添加到您的 PATH。例如,在 MacOS 或 Linux 系统上运行以下命令:

    export PATH=$PWD/bin:$PATH
  5. 将基本 Edge Microgate 设置应用于 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. 验证所有 Pod 是否都在运行:

    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 Microgate

  1. 您必须安装 Edge Microgate 2.5.26 或更高版本。您可以通过输入以下内容进行检查:

    edgemicro --version
  2. 如果您未安装 Edge Microgate 2.5.26 或更高版本,请执行安装脚本:

    npm install edgemicro -g
  3. 如果您是首次安装 Edge Microgate 或对其进行升级,请运行以下命令:

    edgemicro init

    如果您需要其他帮助,请参阅安装 Edge Microgate

后续步骤

现在,您可以将 Edge Microgate 部署到 Kubernetes。