使用 Google Kubernetes Engine 快速开始
依照以下操作指南为 Istio 准备一个 GKE 集群。
创建一个新集群。
$ export PROJECT_ID=`gcloud config get-value project` && \
export M_TYPE=n1-standard-2 && \
export ZONE=us-west2-a && \
export CLUSTER_NAME=${PROJECT_ID}-${RANDOM} && \
gcloud services enable container.googleapis.com && \
gcloud container clusters create $CLUSTER_NAME \
--cluster-version latest \
--machine-type=$M_TYPE \
--num-nodes 4 \
--zone $ZONE \
--project $PROJECT_ID
Istio的默认安装要求节点 vCPU 大于 1,如果您要使用配置文件示例,您可以删除
--machine-type
参数,以使用较小n1-standard-1
机器配置代替。如果需要使用 Istio CNI 功能,需要在
gcloud container clusters create
命令中加入--enable-network-policy
参数,以启用 GKE 集群的 Network-Policy 功能。Private GKE Cluster
Pilot 检测 Validation Webhook 需要 15017 端口,但自动创建的防火墙规则不会打开这个端口。
根据以下操作查看防火墙规则以允许 Master 访问:
$ gcloud compute firewall-rules list --filter="name~gke-${CLUSTER_NAME}-[0-9a-z]*-master"
替换当前的防火墙规则以允许 Master 访问:
$ gcloud compute firewall-rules update <firewall-rule-name> --allow tcp:10250,tcp:443,tcp:15017
为
kubectl
获取认证凭据。$ gcloud container clusters get-credentials <cluster-name> \
--zone <zone> \
--project <project-id>
为 Istio 创建 RBAC 规则,需要授予当前用户集群管理员(admin)权限,根据如下命令进行授权操作。
$ kubectl create clusterrolebinding cluster-admin-binding \
--clusterrole=cluster-admin \
--user=$(gcloud config get-value core/account)