GKE应用的注意事项和常见误解
首先
我对GKE大致了解一些,但重新调查后发现有些地方我误解了。所以我想把这些作为备忘录记录下来。
版本系统
GKE的各个版本发布日期,每个通道的自动升级日期以及支持终止日期详见以下链接。
https://cloud.google.com/kubernetes-engine/docs/release-schedule?hl=ja
以下是自動版本升級的目標(版本公告)。您可以查看可用的版本信息。
https://cloud.google.com/kubernetes-engine/docs/release-notes
GKE 版本以 x.y.z-gke.N 表示。
-
- x: メジャーバージョン
下位互換性のない変更が公開APIに導入された時に上がる。
y: マイナーバージョン
年3回リリースされる。
過去のマイナーバージョンで利用されていたAPIが非推奨になったり、廃止になったりする。
z: Kubernetesのパッチバージョン
毎週リリースされ、各ゾーンに段階的に適用される。(=各ゾーン内のクラスタが自動アップデートされる)
N: GKEのパッチバージョン
(オープンソースのK8s側ではなく)GKE側 のセキュリティやバグ対応のためのアップデート。
实际上有两种补丁版本,如果了解这一点,我认为阅读发布说明会更容易。
参考链接:https://cloud.google.com/kubernetes-engine/versioning?hl=ja#versioning_scheme
请为实现一个适用于中文的版本控制模式提供有关的信息。
发布渠道与自动更新之间的关系
无论是否注册在发布渠道,Google会自动更新控制平面,无法禁用。
如果您注册到发布通道,控制平面的自动更新会同步进行节点的自动更新。
即使在未注册到发布通道的集群中,如果使用了Google不再支持的节点,为了维护安全性和兼容性,节点将会自动更新。
无论集群是否注册到发布频道,GKE团队都会定期自动升级集群控制平面。
参考链接: https://cloud.google.com/kubernetes-engine/upgrades?hl=ja&_ga=2.85136217.-1177760745.1688204946#automatic_cp_upgrades
请自动升级 Kubernetes Engine 上的控制平面版本。
在进行更新时需要注意的事项
コントロールプレーン
そのクラスタ上のワークロードの可用性には影響しない。
ただし、コントロールプレーンのアップデート中はクラスタの設定変更やkubectlコマンドを受け付けなくなるため、エンジニアの作業に支障が出る可能性がある営業時間中などは避けた方が無難。
ノード
ノードプール中のノードが順番に停止→新規ノードが起動する。
サージアップグレード・Blue/Greenアップグレードいずれを選択しても可用性が大きく低下する可能性は低いが、Podの再起動は必ず発生するため、サービスに対するユーザアクティビティが少ない時間帯にアップデートするべき。
维护时间窗口和漏洞修复
如果设置了维护时间窗口和排除时间窗口,基本上会按照所设定的时间自动进行更新。
然而,如果发现了重大的漏洞,有可能忽略这些时间窗口并进行更新。
GKE有权限覆盖关键安全漏洞的维护策略。
请注意,Kubernetes Engine的维护窗口和排除规则在使用时存在一些注意事项。有关详细信息,请参阅此链接:https://cloud.google.com/kubernetes-engine/docs/concepts/maintenance-windows-and-exclusions?hl=ja#caveats
对于脆弱性的分类,重大的定义如下:
未经认证的远程攻击者可以轻易地滥用所有集群,导致系统整体安全受损的弱点。
参考:https://cloud.google.com/kubernetes-engine/docs/resources/security-patching?hl=ja#how_vulnerabilities_are_classified
如何分类漏洞?
如何对漏洞进行分类?
在安全公告中发布了有关漏洞的信息。
* 虽然可以显示为日语,但相对于英文版可能会有延迟,所以建议检查英文版。