尝试使用 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 区域和区域。
[区域] 您可以使用以下命令检查可用的 GCP 区域列表。
顺便说一下,无法使用以下命令检查[区域],因此
请从[a至c]中选择任意区域并进行分配。
* 您也可以在下面的GCP官网查看【Region】和【Zone】。
参考: https://cloud.google.com/compute/docs/regions-zones/regions-zones
gcloud 计算区域列表
这次,我们将使用以下示例来配置设置。
[项目名称]
ohara-test
[区域名称]
asia-northeast1-a *输入[a到c]中的任意区域
[区域名称]
asia-northeast1
为gcloud设置默认值
gcloud config set 项目 [项目名称] gcloud config set 计算/区域 [区域名称] gcloud config set 计算/区域 [区域名称] gcloud config 列表
设置环境变量
export CLUSTER_NAME="httploadbalancer" export ZONE="[Zone]" * 与之前默认值设置的相同区域 export REGION="[Region]" * 与之前默认值设置相同的区域
*注意:如果zone和region的[gcloud默认值]和[环境变量]中设置的值
不相同,则会出现错误。
使用 GKE 创建 Kubernetes 集群
在此示例中,我们将启动“3 个节点(3 个实例)”。
*启动可能需要大约 3 至 5 分钟。
gcloud 容器集群创建 networklb --num-nodes 3
如果您检查 Google 计算引擎 (GCE) 控制面板,您将看到
已创建三个节点(实例),
每个节点都配置为 Kubernetes 节点。
在 Kubernetes 上部署 nginx
kubectl 运行 nginx --image=nginx --replicas=3
创建一个复制控制器,启动三个 pod,
每个 pod 运行一个 nginx 容器。
验证 Pod 是否正常工作
检查部署的状态。
您可以看到 Pod 运行在不同的节点上。
一旦所有 pod 都处于运行状态,
您就可以将 nginx 集群公开为外部服务。
kubectl 获取 pod -owide
将nginx暴露给外界
我正在创建一个网络负载均衡器,它将负载均衡到三个 nginx 实例的流量
kubectl 公开部署 nginx --port=80 --target-port=80 \ --type=LoadBalancer
检查网络负载均衡器地址
检查 EXTERNAL-IP(全局 IP)。
请注意,执行以下命令后可能会立即出现[pending]。
在这种情况下,请执行以下命令,直到 IP 地址显示在 EXTERNAL-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 集群。