尝试使用 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
加载中...
0 票,平均:0.00 / 10
3,571
X Facebook 哈特纳书签 口袋

写这篇文章的人

关于作者

大原

我的职业生涯始于电信行业,担任销售人员,负责为企业引进网络服务、OA设备、群件等IT产品。

之后,他在一家基于SIer的数据中心业务公司担任物理服务器/托管服务的售前工程师和SaaS型SFA/CRM/BtoB电子商务的客户工程师,然后加入现在的公司,超过。

目前,我驻扎在中国(深圳),并观看中国戏剧和比尔比维尔。

资质:二级簿记