使用 GCP 的 GKE 创建 Kubernetes 集群

目录
这位是技术销售部的小原。
使用 Google Kubernetes Engine (GKE)(GCP 的容器编排工具
我们将
介绍
Google Kubernetes Engine (GKE)
具有管理网络负载均衡的功能。
要使用网络负载均衡,
在服务配置文件中 `type: LoadBalancer` 包含
GKE 将设置服务并启用网络负载均衡。
参考链接:https://cloud.google.com/kubernetes-engine/
这次,我们将在 GCP 管理机器上启动并配置 [Cloud Shell]。
检查您正在使用的区域
首先,您需要设置 gcloud 的默认值和环境变量。
您需要设置您的 [项目 ID] 并选择您的 GCP [区域] 和 [区域]。
您可以使用以下命令查看可用 GCP 区域的列表。
请注意,您无法使用以下命令查看 [zone],因此
请选择并分配 [a 到 c] 中的任意区域。
* 您也可以在以下 GCP 官方网站上查看 [区域] 和 [可用区]。
参考链接:https://cloud.google.com/compute/docs/regions-zones/regions-zones?hl
gcloud 计算区域列表
这次,我们将以下面的例子来说明如何设置。
[项目名称]
ohara-test
[区域名称]
asia-northeast1-a * 输入 [a 到 c] 之间的任意区域
[区域名称]
asia-northeast1
设置 gcloud 的默认值
gcloud config set project [项目名称] gcloud config set compute/zone [区域名称] gcloud config set compute/region [区域名称] gcloud config list
设置环境变量
export CLUSTER_NAME="httploadbalancer" export ZONE="[Zone]" * 与上面默认值设置的相同区域 export REGION="[Region]" * 与上面默认值设置的相同区域
*注意:[gcloud 默认值] 和 [环境变量] 中设置的值
对于区域和地区必须相同;否则,将会发生错误。
在 GKE 上创建 Kubernetes 集群
在这个例子中,我们将启动“3个节点(3个实例)”。
*启动可能需要3到5分钟。
gcloud container clusters create networklb --num-nodes 3
检查 Google Compute Engine (GCE) 控制面板,您
看到已创建三个节点(实例),
每个节点都配置为 Kubernetes 节点。
在 Kubernetes 上部署 nginx
kubectl run nginx --image=nginx --replicas=3
创建一个复制控制器,该控制器启动三个 pod,
并且在每个 pod 中运行一个 nginx 容器。
确认 pod 正在运行
检查部署状态。
您应该看到各个 Pod 运行在不同的节点上。
当所有 pod 都处于运行状态后,
您可以将 nginx 集群作为外部服务公开。
kubectl get pods -owide
将 nginx 暴露给外部世界
将负载均衡的流量分配到三个 nginx 实例
我正在创建一个网络负载均衡器,
kubectl expose deployment nginx --port=80 --target-port=80 \ --type=LoadBalancer
检查网络负载均衡器的地址
检查外部 IP 地址(全局 IP 地址)。
请注意,执行以下命令后,您可能会看到“[pending]”。
在这种情况下,请继续执行以下命令,直到您的 IP 地址显示在 EXTERNAL-IP 中。
*这可能需要几分钟时间。
kubectl 获取 nginx 服务
你完成了!
如果您将 EXTERNAL-IP 下显示的 IP 地址输入到浏览器中,并
看到以下显示,则表示成功。
===============================================
取消部署(删除)nginx
现在,我们来看看如何删除刚刚创建的 Kubernetes 集群。
虽然可以使用 GCE/GKE 控制面板删除它,但
我们将尝试从 Cloud Shell 中删除。
■ 删除服务
kubectl 删除 nginx 服务
■ 移除复制控制器
kubectl 删除部署 nginx
■ 删除集群
gcloud 容器集群删除 networklb
删除操作已完成。
如果您查看 GCE 控制面板,应该可以看到所有三个实例都已被删除。
概括
■ 我使用 Cloud Shell 通过 GKE 创建了三个 Kubernetes 集群。
■ 我们在 Kubernetes 集群上部署了 nginx,并将其公开可用。
■ Kubernetes 集群已被删除。
0








