准备工作:
这些步骤假定您已在上述步骤中创建了环境变量。您可以使用以下命令进行检查:
echo $PROJECT_IDecho $ANALYTICS_REGIONecho $ORG_NAMEecho $ENV_NAME
此步骤介绍了如何在 Google Cloud 项目中设置 Shell 环境和创建 GKE 集群。
设置终端 shell
gcloud 工具为 Google Cloud 提供了主要的命令行界面,kubectl 则为 Kubernetes 集群运行命令提供了主要命令行界面。
确保在本地 shell 中安装
gcloud和kubectl。gcloud工具为 Google Cloud 提供了主要的命令行界面,kubectl则为 Kubernetes 集群运行命令提供了主要命令行界面。gcloud -hkubectl -h- 如果未安装这些实用程序,请立即安装,如下所示:
- 安装 Cloud SDK,其中包含
gcloud命令行工具。 - 安装 Cloud SDK 后,请运行以下命令安装
kubectl命令行工具:
gcloud components install kubectl
- 安装 Cloud SDK,其中包含
-
使用
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 集群。
创建集群
- 使用以下命令创建 CLUSTER_NAME 环境变量(可选):
export CLUSTER_NAME=cluster-name
其中 cluster-name 是您为集群选择的名称。
- 执行以下命令来创建集群。在命令中指定的机器类型、节点数和其他设置将创建最低配置的集群,适用于试用版 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 上下文设置为刚创建的集群。
- 首先,列出上下文以确定当前的上下文。在以下示例中,当前上下文为
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 - 如有必要,请将当前上下文设置为刚创建的集群(您打算在其中安装 Apigee Hybrid 的集群)。使用前面的
get-contexts输出,您可以切换到正确的上下文,如下所示:kubectl config use-context context
其中,context 是上一个
get-contexts命令输出的完整上下文名称。例如:gke_apigee-project_us-west1_apigee-cluster。 - 检查当前上下文,确保其已被设置为预期的集群:
kubectl config current-context
例如:
gke_apigee-project_us-west1_apigee-cluster
授予集群凭据
您可以通过集群凭据访问集群中运行的容器。提取您的凭据并授予自己 cluster-admin 角色:
- 输入以下命令来获取凭据:
gcloud container clusters get-credentials $CLUSTER_NAME
其中,
CLUSTER_NAME是您创建的集群(您打算在其中安装 Apigee Hybrid 的集群)的名称。您应会看到类似如下所示的结果:
Fetching cluster endpoint and auth data. kubeconfig entry generated for example-cluster.
- 设置集群角色绑定。严格按照如下所示执行以下命令:
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