第 1 步:创建集群

准备工作:

这些步骤假定您已在上述步骤中创建了环境变量。您可以使用以下命令进行检查:

echo $PROJECT_ID
echo $ANALYTICS_REGION
echo $ORG_NAME
echo $ENV_NAME

此步骤介绍了如何在 Google Cloud 项目中设置 Shell 环境和创建 GKE 集群。

设置终端 shell

gcloud 工具为 Google Cloud 提供了主要的命令行界面,kubectl 则为 Kubernetes 集群运行命令提供了主要命令行界面。

  1. 确保在本地 shell 中安装 gcloud 和 kubectl。gcloud 工具为 Google Cloud 提供了主要的命令行界面,kubectl 则为 Kubernetes 集群运行命令提供了主要命令行界面。

    gcloud -h
    kubectl -h
  2. 如果未安装这些实用程序,请立即安装,如下所示:
    1. 安装 Cloud SDK,其中包含 gcloud 命令行工具。
    2. 安装 Cloud SDK 后,请运行以下命令安装 kubectl 命令行工具:
    3. gcloud components install kubectl
  3. 使用 gcloud 工具配置两个默认设置:默认的项目和计算地区。配置这些设置可以更轻松地运行 gcloud 命令,因为 gcloud 要求您指定要在其中工作的项目和计算地区。

    要列出当前设置,请运行以下命令:

    gcloud config list

    如果未列出项目和/或计算地区,则需要使用下面所示的命令添加它们。如果您从列表输出中确定需要切换当前设置以反映项目和计算地区,则还可以使用以下命令:

    gcloud config set project $PROJECT_ID
    gcloud config set compute/region $ANALYTICS_REGION
    

    其中:

    • PROJECT_ID 是您的 Google Cloud 项目的名称。
    • ANALYTICS_REGION 是 Google Cloud 计算地区的名称

创建 GKE 集群

在此步骤中,您将在 Google Cloud 项目(您使用 PROJECT_ID 表示的 gcloud config 命令设置的项目)中创建 Kubernetes 集群。

创建集群

  1. 使用以下命令创建 CLUSTER_NAME 环境变量(可选):
    export CLUSTER_NAME=cluster-name

    其中 cluster-name 是您为集群选择的名称。

  2. 执行以下命令来创建集群。在命令中指定的机器类型、节点数和其他设置将创建最低配置的集群,适用于试用版 Apigee Hybrid 安装。
    gcloud container clusters create $CLUSTER_NAME \
    --machine-type "e2-standard-4" --num-nodes "4" --enable-autoscaling --min-nodes "3" --max-nodes "6"

    集群创建可能需要几分钟时间。成功创建后,系统将显示类似如下所示的输出(状态为 RUNNING):

    NAME           LOCATION       MASTER_VERSION  MASTER_IP     MACHINE_TYPE   NODE_VERSION   NUM_NODES  STATUS
    apigee-hybrid  us-central1    1.15.12-gke.2   35.222.54.89  e2-standard-4  1.15.12-gke.2             RUNNING

设置当前上下文

上下文是一组访问参数。每个上下文都包含一个 Kubernetes 集群、一个用户和一个命名空间。当前上下文是 kubectl 当前的默认集群:所有 kubectl 命令都针对该集群运行。

确保将当前 gcloud 上下文设置为刚创建的集群。

  1. 首先,列出上下文以确定当前的上下文。在以下示例中,当前上下文为 gke_hybrid-project_us-central1_apigee-hybrid。该名称包括 Google Cloud 项目的名称 (hybrid-project)、区域 (us-central1) 和集群名称 (apigee-hybrid)。
    kubectl config get-contexts

    结果应类似于以下示例:

    CURRENT   NAME                                             CLUSTER                                          AUTHINFO                                           NAMESPACE
    *         gke_hybrid-project_us-central1_apigee-hybrid     gke_hybrid-project_us-central1_apigee-hybrid     gke_hybrid-project_us-central1_apigee-hybrid
              gke_apigee-project_us-west1_apigee-cluster       gke_apigee-project_us-west1_apigee-cluster       gke_apigee-project_us-west1_apigee-cluster
    
  2. 如有必要,请将当前上下文设置为刚创建的集群(您打算在其中安装 Apigee Hybrid 的集群)。使用前面的 get-contexts 输出,您可以切换到正确的上下文,如下所示:
    kubectl config use-context context

    其中,context 是上一个 get-contexts 命令输出的完整上下文名称。例如:gke_apigee-project_us-west1_apigee-cluster。

  3. 检查当前上下文,确保其已被设置为预期的集群:
    kubectl config current-context

    例如:

    gke_apigee-project_us-west1_apigee-cluster

授予集群凭据

您可以通过集群凭据访问集群中运行的容器。提取您的凭据并授予自己 cluster-admin 角色:

  1. 输入以下命令来获取凭据:
    gcloud container clusters get-credentials $CLUSTER_NAME

    其中,CLUSTER_NAME 是您创建的集群(您打算在其中安装 Apigee Hybrid 的集群)的名称。

    您应会看到类似如下所示的结果:

    Fetching cluster endpoint and auth data.
    kubeconfig entry generated for example-cluster.
  2. 设置集群角色绑定。严格按照如下所示执行以下命令:
    kubectl create clusterrolebinding cluster-admin-binding \
    --clusterrole cluster-admin --user $(gcloud config get-value account)

    您应会看到类似如下所示的结果:

    clusterrolebinding.rbac.authorization.k8s.io/cluster-admin-binding created

摘要

现在,您已经有一个 Kubernetes 集群在 Google Cloud 项目中运行。Shell 环境已设置完毕,您现在可以在本地机器上安装 Apigee Hybrid 所需的 cert-manager 和 Istio 服务了。

1 (下一步)第 2 步:安装 cert-manager 和 ASM 3 4 5