尝试使用 GCP 的 GKE 创建 Kubernetes 集群

目录
我是技术销售部门的大原。
我们将使用 GCP 的容器编排工具 Google Kubernetes Engine (GKE)
介绍
Google Kubernetes Engine (GKE)
具有管理网络负载均衡的功能。
要使用网络负载均衡,
在服务配置文件中包含type: LoadBalancer GKE 将设置您的服务并连接网络负载均衡。
参考链接: https://cloud.google.com/kubernetes-engine/
这次,我们将在 GCP 管理机器上启动并配置 [Cloud Shell]。
检查您正在使用的区域
首先,设置 gcloud 的默认值和环境变量。
您需要设置项目 ID 并选择 GCP 可用区和区域。
您可以使用以下命令查看 [Region] 的可用 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]”。
在这种情况下,请继续执行以下命令,直到“EXTERNAL-IP”中显示 IP 地址。
* 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







