作者:MeshCloud脉时云公有云架构师 王彬
一.引言
Kubernetes又称为 k8s,是一种可自动实施 Linux 容器操作的开源平台。它可以帮助用户省去应用容器化过程的许多手动部署和扩展操作。也就是说,您可以将运行 Linux 容器的多组主机聚集在一起,由 Kubernetes 帮助您轻松高效地管理这些集群。而且,这些集群可跨公共云、私有云或混合云部署主机。因此,对于要求快速扩展的云原生应用而言,Kubernetes 是理想的托管平台。
Kubernetes 最初由 Google 的工程师开发和设计。Google 是最早研发 Linux 容器技术的企业之一,曾公开分享介绍 Google 如何将一切都运行于容器之中(这是 Google 云服务背后的技术)。Google 每周会启用超过 20 亿个容器 —— 全都由内部平台 Borg 支撑。Borg 是 Kubernetes 的前身,多年来开发 Borg 的经验教训成了影响Kubernetes 中许多技术的主要因素。
随着kubernetes的市场越来越大,各大云厂商也都开发了相应的服务
Google:Google Kubernetes Engine(GKE)
AWS: Elastic Kubernetes Service(EKS)
Azure: Azure Kubernetes Service(AKS)
阿里云:Container Service for Kubernetes(ACK)
。。。。
二.Google Kubernetes Engine (GKE)介绍
Google Kubernetes Engine (GKE) 提供了一个受管环境,您可以使用 Google 基础架构在其中部署、管理和扩缩容器化应用。GKE 环境包括多个机器(具体来讲,就是 实例),这些机器组合在一起就形成了集群。
GKE 集群由 k8s开源集群管理系统提供支持。Kubernetes 为用户提供了与集群进行交互的机制。您可以使用 Kubernetes 命令和资源来部署和管理应用、执行管理任务、设置政策,以及监控您部署的工作负载的运行状况。
Kubernetes 借鉴了一些常用 Google 服务背后的设计原理,可以带来同样的好处:自动管理、对应用容器进行监控和活跃性探测、自动扩缩、滚动更新等。 当您在集群上运行应用时,所用到的技术可以说凝聚了 Google 10 余年来在容器中运行生产工作负载的丰富经验。
GKE的操作模式主要有两种:Autopilot模式和Standard 模式
Autopilot:管理整个集群和节点基础架构。Autopilot 提供无需人工干预的 Kubernetes 体验,让您可以专注于工作负载,并且您只需为运行应用所需的资源付费。Autopilot 集群会进行预先配置,并提供可供生产工作负载使用的优化集群配置。
Standard :提供节点配置灵活性以及对集群和节点基础架构的完全控制。对于使用标准模式创建的集群,您需要确定生产工作负载所需的配置,并且需要为您使用的节点付费。
Google推荐使用的是Autopilot模式,对于用户而言,Autopilot模式更为简单,底层由GKE进行管理:如节点的配置、自动扩容、自动升级、基准安全配置和基准网络配置。而标准模式的是底层基础架构包括节点配置都由使用者进行管理和配置。
Autopilot模式收费:只需为工作负载在运行时使用的计算资源付费。您不需要为节点上未使用的资源、操作系统运行费用、未安排的工作负载或系统工作负载付费。
standard模式收费:您需要为每个节点上的计算资源付费,而无论 Pod 是否在该节点上运行。您需要为未使用的资源付费。
三.部署GKE集群准备工作
- 在Google cloud Console中选择或者创建一个Google cloud 项目
- 确保您的cloud 项目已启用结算功能
- 启用 Artifact Registry and Google Kubernetes Engine API。
- 启动cloud shell(在控制台右上角点击激活cloud shell按钮)
四.Google Kubernetes Engine (GKE)两种模式的创建
4.1Autopilot模式创建:
准备工作:在创建之前要先启用 Google Kubernetes Engine API
1.到控制台选择 Google Kubernetes Engine页面,并点击创建
2.选择Autopilot
3.输入集群名称,为集群选择一个区域
4.专有集群或公共集群选择(如果有特定的网络隔离要求,建议使用专用Autopilot集群)
5.网络设置和高级设置可以根据你的需求选择是否进行配置,如不配置则会使用默认
6.点击创建
7.连接到集群:
出现提示时,点击在 Cloud Shell 中运行。生成的命令会复制到您的 Cloud Shell 中
4.2Standard 模式创建(可用区集群)
1.到控制台选择 Google Kubernetes Engine页面,并点击创建
2.选择标准版
最后点击创建即可进行创建集群
连接集群
4.3Standard 模式集群创建(区域集群)
1.在控制台点击 Google Kubernetes Engine 页面,点击创建
2.选择标准
3.填写集群基本信息
4.节点池设置
5.节点数设置
6.网络设置
7.安全设置
8.可选项:如需创建专用集群则进行选择
如没有其他特殊要求,完成以上步骤后可直接点击创建
集群连接和可用区集群连接方式一样,可参考可用区集群连接方式。
五.总结
对于用户来说Google Kubernetes Engine (GKE)相比普通的Kubernetes而言更加便捷,可以说在原有的基础上加深了用户对于集群管理的便捷性,同时在成本方面也有所节省,如所需使用的业务量不大,可以选择使用按照pod数量进行付费,无需为底层的设备付费,同时对于服务的更新等操作也更加方便。