使用 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
加载中...
0票,平均分:0.00/10
3,680
X Facebook Hatena书签 口袋

这篇文章的作者

关于作者

小原

他的职业生涯始于电信行业,担任销售员,负责实施企业网络服务、办公设备和群件等 IT 产品。

之后,他曾在一家系统集成商旗下的数据中心公司担任物理服务器和托管服务的售前工程师,以及基于 SaaS 的 SFA/CRM 和 B2B 电子商务的客户工程师,之后加入 Beyond 公司,目前仍在 Beyond 工作。

我目前驻扎在中国(深圳),我的日常活动是看中国电视剧和比尔比尔。

资格证书:二级簿记员