[DAY28]GKE-Google Kubernetes Engine

GKE

GKE是GOOGLE在GCP上面的k8s cluster服务,对於GCP使用者来说,GKE可以提供轻松自动部署、管理 Kubernetes 及调度所需资源,一切的事情都可以在Google Cloud Platform上面操作。

以下是GOOGLE自己说的特点/images/emoticon/emoticon01.gif

  • 在 K8s 最大工程贡献者所打造的平台中执行 Kubernetes
  • 按一下即可建立丛集及向上扩充至最多 15,000 个节点,让您快速开始使用
  • 利用包含多可用区和区域丛集的高可用性控制层
  • 采用业界首创的四向自动调整资源配置功能,消弭固定性的作业负担
  • 设计之初便将安全性纳入考量,提供容器映像档的安全漏洞扫描和资料加密等功能

资料来源

四向自动调整资源配置功能这边是指它能横向(加pod/node),垂直(动态调整pod资源)

目前GKE有二种模式

  • Standard : 就manual模式XD,一切自己设定
  • Autopilot : 是google推出的懒人模式(?),一切交给google处理就好,只要信用卡里面有钱就好/images/emoticon/emoticon01.gif
    以下为google对Autopilot模式的说明,但是基本上还是走Standard,自己控制比较保险,因为你不会知道google突然做了什麽/images/emoticon/emoticon01.gif,在prod环境以稳定为主轴。
    以下为Autopilot的官宣,是否符合自己使用需求就自行评估啦~~
    • 依据工作负载需求取得可用於实际工作环境的丛集
    • 减轻节点管理的负担
    • 仅须为实际使用的资源付费,以 Pod 数量计价
    • 内建 Google 最佳做法,进一步提升安全性
    • 提高工作负载可用性

资料来源

GKE功能

以下资料撷取自 所有功能与特色,这边会加入目前使用的心得或是状态

  • 身分与存取权管理 : 利用 Google 帐户和角色权限,控管丛集存取权,这边指的是使用IAP(利用身分识别和背景资讯把关,控管使用者对应用程序和 VM 的存取权)来进行权限设定,IAP在GCP上面是很重要的一个角色。
  • 混合式网路 : 替丛集保留 IP 位址范围,让丛集 IP 能够透过 Google Cloud VPN 与私人网路 IP 共存。
  • 安全性与法规遵循 : GKE 由超过 750 位专家组成的 Google 安全性团队负责守护,并且符合《健康保险流通与责任法案》与 PCI DSS 的规范。
  • 整合式记录与监控功能 : 只要勾选几个核取方块进行设定,就能启用 Cloud Logging 和 Cloud Monitoring,轻松掌握应用程序的详细运作状况,Cloud Logging需要使用GCP的Stackdriver,但是Stackdriver有点难用...建议自架elk收log还比较实际一点QQ,Cloud Monitoring default可以开启啦,可以看到cluster/node/pod资源。
  • 丛集选项 : 根据工作负载的可用性、版本稳定性、隔离性和 Pod 流量需求,选择适合的丛集,这边应该是指standard/autopilot,自己使用上还是以standard为主啦,毕竟pod自己会scaling,要看看pod本身的服务适不适合这样子做。
  • 自动调度资源 : 根据资源利用率 (CPU 和记忆体) 自动调度应用程序部署项目的资源,这边是指node autoscaling,还是一样,看自身服务性质,如果有状态的服务就不建议开启啦..因为你不知道他在缩node时会不会砍到你有状态的pod,除非有设定亲和力。
  • 自动升级 : 自动升级至最新 Kubernetes 发布版本,让丛集保持在最新状态。如有可用的 Kubernetes 更新版本,马上就能在 GKE 中取得,这个有点踩到雷,因为它是自动更新,所以你不知道何时突然被更新,这不能关QQ,只能设定一个很长期的禁止更新时间,但是google底层的升级是关不掉的。
  • 自动修复 : 自动修复功能启用後,GKE 会对未通过健康状态检查的节点进行修复,因为这个没遇过,所以不知道发生会怎麽做修复。
  • 资源限制 : 透过 Kubernetes,您可以指定每个容器所需的 CPU 与记忆体 (RAM) 容量,更妥善地管理丛集内的工作负载,这边是直接透过yaml档的resource处理掉。
  • 容器隔离 : 使用 GKE Sandbox 在 GKE 中的容器化工作负载之间提供第二层防护机制,藉此提高工作负载的安全性,这个没用过QQ。
  • 支援有状态应用程序 : GKE 不只适用於 12 因子应用程序,您可以为容器附加永久储存空间,甚至是托管完整的资料库,应该是指可以挂PVC,把volumn指向PVC上,就可以把pod资料存在永久储存空间上面。
  • 支援 Docker 映像档 : GKE 支援常见的 Docker 容器格。
  • 全代管 : Google SRE 提供 GKE 丛集全代管服务,确保您的丛集随时可用,而且保持在最新状态。
  • 针对容器打造的作业系统 : GKE 采用 Container-Optimized OS,这是由 Google 打造及管理的作业系统,具备经过强化的安全防护能力,GKE旧版号还可以选docker runtime的os,但是目前版号的gke已经不支援docker runtime的os了,一律采用 Container-Optimized OS,但是基本上不影响在上面运作的container。
  • 私人 Container Registry : 与 Google Container Registry 相互整合,让您轻松储存及存取私人 Docker 映像档,就私人image repo XD。
  • 快速一致的建构作业 : 透过 Cloud Build 稳定地在 GKE 中部署容器,而且不必设定验证程序。
  • 跨地端与云端的工作负载迁移能力 : GKE 执行的是经过认证的 Kubernetes,因此可以将工作负载迁移至其他云端和地端部署的 Kubernetes 平台。
  • 支援 GPU 和 TPU : GKE 支援 GPU 和 TPU,方便您执行机器学习、GPGPU、HPC 和其他受惠於特殊硬体加速器的工作负载,在建立node时可以选择是否要使用TPU。
  • 内建资讯主页 : Cloud Console 提供专案丛集及其资源专属的实用资讯主页,您可以透过资讯主页查看、检查、管理及删除丛集中的资源。
  • 先占 VM : 经济实惠的短期执行个体,适合用於执行批次工作和容错工作负载。先占 VM 最多可让您省下高达 80% 的费用,同时仍享有一般 VM 的效能和功能,先占节点是效期最多可达 24 小时的 Compute Engine 执行个体,这项设定一经确认即无法变更,简单来说,就是如果node选择先占节点,如果24小时没有人使用,GKE就把这个node回收掉=删掉。
  • 支援永久磁碟 : 耐用的高效能区块储存空间,适用於容器执行个体。系统会采取备份储存机制,以利确保资料完整及进行自动加密处理,并让您灵活调整储存空间大小,而不会造成作业中断。建立永久磁碟时,您可以选用 HDD 或 SSD 格式。您也可以替永久磁碟建立快照,并利用该快照建立新的永久磁碟。
  • 支援本机 SSD : GKE 提供的本机固态硬碟 (SSD) 区块储存空间一律经过加密处理。本机 SSD 是实体储存空间,会实际连接托管虚拟机器执行个体的服务器。相较於永久磁碟,本机 SSD 可达到极高的每秒输入/输出作业数 (IOPS),而且延迟时间极短。
  • 全球负载平衡 : 全球负载平衡技术可协助您将传入要求分配至多个区域的执行个体集区,只要支付少许费用,就能享受极致效能、超高总处理量和绝佳可用性。
  • 支援 Linux 和 Windows : GKE 可以全面支援 Linux 和 Windows 的工作负载,并执行 Windows Server 和 Linux 节点,这边是指node的os版本,目前windows os的node限制比较多,而且还有限制机器类型。
  • 支援混合云和多云端 : 在您的资料中心内充分发挥 Kubernetes 和云端技术的优势。您可以透过便捷的代管式安装程序,体验 GKE 的强大功能,并透过 Anthos GKE 享有经 Google 验证的升级服务。
  • 无服务器容器 : 执行无状态的无服务器容器,藉此免除所有基础架构管理作业,并透过 Cloud Run 自动调整资源配置。
  • 用量计算 : 精确掌控您的 Kubernetes 丛集状况。查看依命名空间和标签细分的 GKE 丛集资源用量资料,并判断用量来自哪个有意义的实体。
  • 发布版本 : 发布版本可让您根据丛集及丛集工作负载的稳定性需求,进一步控管特定丛集接收到的自动更新。您可以选择快速版、一般版或稳定版。每种发布版本都有不同的发布速度,并且会以不同类型的工作负载为目标,基本上就分成二种,静态跟发布二种,静态版本是不会自动更新版本,发布版本会自动更新版本,如果你的需求上是不需要自动更新k8s版本,就选择静态版本
  • 软件供应链安全性 : 透过容器分析功能,对容器映像档所用的基础架构元件和套件验证安全性,并且强制实行及改善防护措施。
  • 以秒计费 : Google 采用「以秒计费」的累计制收费模式,您仅须为实际使用的运算时间付费。

以上为GKE的基础介绍,下一篇就来动手建k8s /images/emoticon/emoticon08.gif


<<:  效能监视器--Windows的隐藏监控器

>>:  [DAY 21]纠团通知功能(1/3)

[Day28] Snackbar提示功能

Snackbar是一个类似Toast的提示功能,但却比Toast更多功能,外观上也较为美观,现在就来...

成员 24 人:来玩一场「收尾游戏」吧!

「责任感,就是我们与猫的区别。」 如果有同事提离职了, 如何妥善处理离职同仁的交接问题呢? 没有要慰...

Day 14 - Valid Palindrome

大家好,我是毛毛。ヾ(´∀ ˋ)ノ 废话不多说开始今天的解题Day~ 125. Valid Pali...

[Day24]ISO 27001 附录 A.12 运作安全

这个章节就是作业系统的安全管理机制,稽核视角就是检查如何营运以维护系统安全。 A.12 运作安全 A...

第二十天:在 TeamCity 上执行 Build Scan

昨天介绍了 Gradle 的 Build Scan 功能,让我们可以清楚的了解 Build 过程中的...