Google Kubernetes Engine 集群实战详解

 更新时间:2022年08月30日 16:06:35   作者:青Cheng序员石头  
这篇文章主要为大家介绍了Google Kubernetes Engine 集群实战详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

GKE 集群介绍

Google Kubernetes Engine (GKE) 集群由 Kubernetes 开源集群管理系统提供支持。Kubernetes 为用户提供了与容器集群进行交互的机制。您可以使用 Kubernetes 命令和资源来部署和管理应用、执行管理任务、设置政策,以及监控您部署的工作负载的运行状况。

K8s 带来的好处

  • 自动管理
  • 对应用容器进行监控和活跃性探测
  • 自动扩缩
  • 滚动更新

Google Cloud 上的 Kubernetes 运行 GKE 集群时,您还可以获享 Google Cloud 提供的高级集群管理功能所带来的好处,其中包括:

  • 针对 Compute Engine 实例提供的负载平衡功能
  • 节点池(可用于在集群中指定节点子集以提高灵活性)
  • 自动扩缩集群的节点实例数量
  • 自动升级集群的节点软件
  • 节点自动修复,以保持节点的正常运行和可用性
  • 利用 Cloud Monitoring 进行日志记录和监控,让您可以清楚了解自己集群的状况

使用 GKE 编排集群

1.打开cloud shell,并设置project (如果默认连接成功则不需要)

gcloud config set project <Project ID>

2.设置默认计算可用区域

gcloud config set compute/zone  <Zone>

3.启动新的GKE集群,要耗时几分钟,耐心等待

gcloud container clusters create --machine-type=e2-medium lab-cluster

输出结果如下:

创建集群后,您需要身份验证凭据才能与其交互,所以接下来获取身份验证凭据。

4.获取用于集群的身份验证凭据

gcloud container clusters get-credentials lab-cluster 

输出结果如下所示:

5.将应用部署到集群中

GKE 使用 Kubernetes 对象创建和管理集群的资源。Kubernetes 提供了 Deployment 对象,用以部署网络服务器等无状态应用。Service 对象则用于定义从互联网访问您的应用时需要遵循的规则和负载平衡机制。

kubectl create deployment hello-server --image=gcr.io/google-samples/hello-app:1.0

输出结果如下所示:

此 Kubernetes 命令kubectl会创建一个代表 hello-server 的 Deployment 对象。在本例中,--image 指定了要部署的容器映像。该命令会从 Container Registry 存储分区中拉取示例映像。gcr.io/google-samples/hello-app:1.0 指定了要拉取的特定映像版本。如果未指定版本,则使用最新版本。

6.运行命令kubectl expose 以创建K8s Service

kubectl expose deployment hello-server --type=LoadBalancer --port 8080

在上面的命令中:

  • --port 指定了该容器公开的端口。
  • type="LoadBalancer" 表示为您的容器创建一个 Compute Engine 负载平衡器。

输出结果如下所示:

注意: 生成外部 IP 地址可能需要一分钟时间。如果 EXTERNAL-IP 列的状态为 pending,请再次运行上述命令。

7.运行 kubectl get 命令,以检查 hello-server Service:

kubectl get service

输出结果如下所示:

8.浏览器上访问http://[EXTERNAL-IP]:8080,会获取到如下信息

9.删除集群,可能需要几分钟的时间

gcloud container clusters delete lab-cluster 

以上就是Google Kubernetes Engine 集群实战详解的详细内容,更多关于Google Kubernetes Engine集群的资料请关注脚本之家其它相关文章!

相关文章

  • k8s通过命令批量删除pod方式

    k8s通过命令批量删除pod方式

    文章介绍了如何在k8s中批量删除失败的pod,首先,通过查看所有pod的状态,筛选出非Running的记录,然后,针对特定命名空间(如kube-system)的记录进行筛选,并使用grep命令查找带有Evicted字段的pod,通过awk获取pod名称,并使用xargs循环删除这些失败的pod
    2026-01-01
  • kubelet为cadvisor添加namespace/pod/container标签示例详解

    kubelet为cadvisor添加namespace/pod/container标签示例详解

    这篇文章主要为大家介绍了kubelet为cadvisor添加namespace/pod/container标签示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • 云原生技术kubernetes之volumes容器的使用

    云原生技术kubernetes之volumes容器的使用

    这篇文章主要为大家介绍了云原生技术kubernetes之volumes容器使用方式, 有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03
  • k8s按需创建PV和使用PVC详解

    k8s按需创建PV和使用PVC详解

    Kubernetes中,PV和PVC用于管理持久存储,StorageClass实现动态PV分配,PVC声明存储需求并绑定PV,通过kubectl验证状态,注意回收策略和绑定模式
    2025-09-09
  • K8s-helm简介及基本概念详解

    K8s-helm简介及基本概念详解

    ​Helm 使用的包格式称为 chart,它是一个描述 Kubernetes 相关资源对象的文件集合,这篇文章主要介绍了K8s-helm简介及基本概念,需要的朋友可以参考下
    2022-07-07
  • 一文解析Kubernetes使用PVC后数据丢失

    一文解析Kubernetes使用PVC后数据丢失

    这篇文章主要为大家介绍了Kubernetes使用PVC后数据丢失原理解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • K8s Affinity亲和力详解(调度策略)

    K8s Affinity亲和力详解(调度策略)

    文章介绍了Kubernetes中亲和力和反亲和力的调度策略,包括节点和Pod的硬性、软性规则,用于实现Pod与节点的标签匹配、区域均衡负载及避免单节点过载等场景,强调标签匹配和副本数限制对调度结果的影响
    2025-08-08
  • 青龙面板拉库解决没有或丢失依赖can‘t find module的保姆级教程(附青龙面板脚本仓库)

    青龙面板拉库解决没有或丢失依赖can‘t find module的保姆级教程(附青龙面板脚本仓库)

    这篇文章主要介绍了青龙面板拉库解决没有或丢失依赖can‘t find module的保姆级教程(附青龙面板脚本仓库),需要的朋友可以参考下
    2022-05-05
  • helmfile声明式部署Helm Chart使用详解

    helmfile声明式部署Helm Chart使用详解

    这篇文章主要为大家介绍了helmfile声明式部署Helm Chart使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • kubenetes集群版本升级方式

    kubenetes集群版本升级方式

    本文详细介绍了使用kubeadm和二进制方式搭建及升级Kubernetes集群的方法,介绍了版本控制、升级步骤、备份ETCD数据、升级各节点组件等关键操作,并提供了操作示例和注意事项,帮助理解和实施Kubernetes集群的搭建和升级过程
    2024-09-09

最新评论