第 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 中安装 gcloudkubectlgcloud 工具为 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