1.28 版本信息和更新操作
该版本已不再支持。 尽快将群集更新到 支持的版本。
查看有关 IBM Cloud® Kubernetes ServiceV 1.28 的信息。 有关 Kubernetes 项目版本 1.28的更多信息,请参阅 Kubernetes 更改日志。
IBM Cloud Kubernetes Service 是 CNCF 软件一致性认证计划下 版本的认证 产品。Kubernetes 1.28 Kubernetes Kubernetes® 是 基金会在美国和其他国家的注册商标,根据 基金会的许可使用。Linux Linux
发布时间线
下表包含 IBM Cloud® Kubernetes ServiceV 1.28 的预期发布时间线。 您可以将此信息用于规划目的,例如,估算版本可能变为不受支持的一般时间。
标记有短剑 (†
) 的日期表示这是暂定时间,会随时更改。
版本 | 是否受支持? | 发布日期 | 不受支持的日期 |
---|---|---|---|
1.28 | 是 | 2023 年 9 月 20 日 | 2025年5月31日 † |
准备更新
本信息汇总了将集群更新到 V 1.28时可能对已部署应用程序产生的更新以及对这些应用程序的影响。 要获取完整的更改列表,请查看 社区 Kubernetes 更改日志 和 IBM 版本更改日志 for V 1.28。 您还可以查看 Kubernetes 有用的警告。
IBM Cloud Kubernetes Service V 1.28 未 将其受支持的核心节点与控制平面组件之间的偏差扩展一个次要版本。 受支持的偏差仍为 n-2
。 有关更多信息,请参阅 更改控制平面与节点版本之间受支持的偏差 以获取 Kubernetes 社区信息。
在更新主节点之前更新
下表说明了在更新 Kubernetes 主节点之前必须执行的操作。
类型 | 描述 |
---|---|
Pod hostPort |
设置 hostNetwork: true 和声明端口的 pod 会自动获取 hostPort 字段集。 先前将在 Deployment ,DaemonSet 或其他工作负载资源的 pod 模板中设置 hostPort 。 现在,将仅在 Pod 资源上设置 hostPort 。 如果您的应用程序依赖于以前的行为,请对其进行相应更新。 |
对 VPC 集群的联网更改 | 在 1.27 及更早版本中,VPC 群集通过 IBM Cloud Container Registry的私有云服务端点从 Container Registry 中提取映像。 对于 V 1.28 和更高版本,将更新此网络路径,以便通过 VPE 网关而不是专用服务端点来拉取映像。 有关更新操作,请参阅 VPC 集群的联网更改。 |
在更新主节点之后更新
类型 | 描述 |
---|---|
kubectl version 输出和 --short 选项 |
kubectl version 输出已更改为与先前的 kubectl version --short 输出匹配。 此外,已除去 --short 选项。 如果脚本依赖于先前的行为,请更新这些脚本。 |
kubelet 旧 iptables 链 |
kubelet 不再创建 KUBE-MARK-DROP 或 KUBE-MARK-MASQ iptables 链。 如果应用程序依赖于这些链,请相应地更新这些链。 有关更多信息,请参阅 Kubernetes的 IPTables 链不是 API。 |
VPC 集群的联网更改
在 1.27 及更早版本中,VPC 群集通过 IBM Cloud Container Registry的私有云服务端点从 Container Registry 中提取映像。 对于 V 1.28 和更高版本,将更新此网络路径,以便通过 VPE 网关而不是专用服务端点来拉取映像。 此更改会影响 VPC 中的所有群集;当您将 VPC 中的单个群集创建或更新为 1.28 版本时,该 VPC 中的所有群集(无论其版本如何)都会更新其网络路径。 根据安全组、网络 ACL 和网络策略的设置,您可能需要进行更改,以确保您的工作人员在更新到 1.28 版本后继续成功拉取容器映像。
下图显示了 V 1.28的新网络路径,该版本使用 VPE Gateway for Registry 而不是专用服务端点。
使用 V 1.28中的网络路径更新,创建或更新 VPC 集群以在 V 1.28 上运行将向 VPC 添加新的 VPE 网关。 此 VPE 网关专门用于从 IBM Cloud Container Registry提取映像,并为 VPC 中至少有一个群集工作者的每个区域分配一个 IP 地址。 DNS 条目将添加到用于将所有 icr.io
域名解析为新的 VPE 网关 IP 地址的整个 VPC 中。 根据您配置网络安全组件的方式,您可能需要执行操作以确保允许与新
VPE 的连接。
我需要做些什么?
确保 VPC 集群工作程序节点继续从 Container Registry 中拉取映像所需的步骤取决于您的网络安全设置。
- 如果将缺省网络规则用于所有安全组,网络 ACL 和网络策略,那么无需执行任何操作。
- 如果您具有在 VPC 中阻止某些 TCP 连接的定制网络安全设置,那么在更新或创建版本为 1.28的新集群之前,必须执行其他操作。 请在以下部分中进行调整,以确保允许连接到新的 VPE Gateway for Registry。
无论是否需要执行其他步骤,如果在 VPC 中保留未运行 V 1.28 的其他集群,那么必须在这些集群上 刷新集群主。 这将确保对 non-1.28 集群应用正确的更新,以便允许到新 VPE 的流量。
我有定制安全组。 我要改变什么?
当您更新或创建版本为 1.28的集群时,必需的允许规则将自动添加到 IBM管理的 kube-<cluster_ID>
集群安全组。 但是,如果您创建了一个 不 使用 kube-<cluster_ID>
集群安全组规则的 VPC 集群,那么必须确保实施以下安全组规则以允许流向注册表的 VPE 网关的流量。 如果尚未在定制设置中实现这些规则,请 添加这些规则。
必须为 VPC 中的每个区域创建这些规则中的每个规则,并且必须将该区域的整个 VPC 地址前缀范围指定为目标 CIDR。 要查找 VPC 中每个专区的 VPC 地址前缀范围,请运行 ibmcloud is vpc-address-prefixes <vpc_name_or_id>
。
在自定义安全组中添加以下规则。
规则类型 | 协议 | 目标 IP 或 CIDR | 目标端口 |
---|---|---|---|
出站 | TCP | 整个 VPC 地址前缀范围 | 443 |
要使这些规则更具限制性,可以将目标设置为 VPE Gateway 使用的安全组,也可以指定准确的 VPE Gateway 保留 IP 地址。 请注意,如果除去 VPC 中的所有集群工作程序,那么可以更改这些 IP 地址。
我有定制 ACL。 我要改变什么?
如果已将适用于集群工作程序的 VPC 网络 ACL 定制为仅允许某些出口和入口流量,请确保实现以下 ACL 规则或等效规则以允许与 VPE Gateway for Registry 的连接。 如果尚未实现这些规则,请 添加这些规则。 必须为 VPC 中的每个区域创建这些规则中的每个规则,并且必须将该区域的整个 VPC 地址前缀范围指定为源
(对于出站规则) 或目标 (对于入站规则) CIDR。 要查找 VPC 中每个专区的 VPC 地址前缀范围,请运行 ibmcloud is vpc-address-prefixes <vpc_name_or_id>
。 每个规则的优先级应该高于任何以其他方式拒绝此流量的规则,例如拒绝所有流量的规则。
将以下规则添加到定制 ACL。
规则类型 | 协议 | 源 IP 或 CIDR | 源端口 | 目标 IP 或 CIDR | 目标端口 |
---|---|---|---|---|---|
出站/允许 | TCP | 整个 VPC 地址前缀范围 | 任意 | 整个 VPC 地址前缀范围 | 443 |
入站/允许 | TCP | 整个 VPC 地址前缀范围 | 443 | 整个 VPC 地址前缀范围 | 任意 |
我有定制网络策略。 我要改变什么?
如果使用 Calico 策略来限制来自集群工作程序的出站连接,那么必须添加以下策略规则以允许连接到 VPE Gateway for Registry。 必须为 VPC 中的每个区域创建此策略,并且必须将该区域的整个 VPC 地址前缀范围指定为目标 CIDR。 要查找 VPC 中每个专区的 VPC 地址前缀范围,请运行 ibmcloud is vpc-address-prefixes <vpc_name_or_id>
。
apiVersion: projectcalico.org/v3
kind: GlobalNetworkPolicy
metadata:
name: allow-vpe-gateway-registry
spec:
egress:
- action: Allow
destination:
nets:
- <entire-vpc-address-prefix-range> # example: 10.245.0.0/16
ports:
- 443
protocol: TCP
source: {}
order: 500
selector: ibm.role == 'worker_private'
types:
- Egress