1.1.30版本信息和更新操作
查看有关 IBM Cloud® Kubernetes Service版本 1.30 的信息。 有关 Kubernetes 项目版本 1.30的更多信息,请参阅 Kubernetes 更改日志。
IBM Cloud Kubernetes Service是 CNCF "Kubernetes软件一致性认证计划下 "1.30版本的 "Kubernetes认证产品。 Kubernetes®是Linux基金会在美国和其他国家的注册商标,根据Linux基金会的许可使用。
发布时间线
下表包含 IBM Cloud® Kubernetes Service版本 1.30 的预期发布时间线。 您可以将此信息用于规划目的,例如,估算版本可能变为不受支持的一般时间。
标记有短剑 (†
) 的日期表示这是暂定时间,会随时更改。
版本 | 是否受支持? | 发布日期 | 不受支持的日期 |
---|---|---|---|
1.30 | 是 | 2024 年 5 月 29 日 | 2025 年 8 月 13 日 † |
准备更新
此信息概述了将集群更新到 V 1.30时可能对已部署的应用程序产生影响的更新。 要获取完整的更改列表,请查看 社区 Kubernetes 更改日志 和 IBM 版本更改日志 for V 1.30。 您还可以查看 Kubernetes 有用的警告。
在 V 1.30 上供应的 VPC 工作程序节点已启用 VPC 实例元数据服务。 有关更多信息,请参阅 关于 VPC 实例元数据
在更新主节点之前更新
下表说明了在更新 Kubernetes 主节点之前必须执行的操作。
Type | 描述 |
---|---|
Calico 操作程序名称空间迁移 | 如果集群已升级到 V 1.29,那么将启动 Calico 操作程序名称空间迁移。 必须先完成此迁移,然后才能允许集群升级到 V 1.30。 如果以下命令未返回任何数据,那么迁移完成: kubectl get nodes -l projectcalico.org/operator-node-migration --no-headers --ignore-not-found ; kubectl get deployment calico-typha -n kube-system -o name --ignore-not-found 。 |
创建或更新 VPC 群集至版本1.30时 VPE 网关的更改 | 在创建1.30群集或更新到1.30 时,VPC 群集使用的 VPE 网关会发生重要变化。 这些变化可能需要采取行动。 要查看更改并确定所需的操作,请参阅 VPE 网关创建信息。 |
在更新主节点之后更新
下表说明了在更新 Kubernetes 主节点之后必须执行的操作。
Type | 描述 |
---|---|
不推荐: Pod container.apparmor.security.beta.kubernetes.io 注释。 |
现在不推荐使用 pod container.apparmor.security.beta.kubernetes.io 注释。 这些注释将替换为 pod 和容器的 securityContext.appArmorProfile 字段。 如果 pod 依赖于这些不推荐的注释,请将其更新为使用 securityContext.appArmorProfile 字段。 有关更多信息,请参阅
使用 AppArmor限制容器对资源的访问权。 |
不受支持: kubectl apply --prune-whitelist 选项 |
已除去 kubectl apply 上不推荐使用的 --prune-whitelist 选项,并将其替换为 --prune-allowlist 选项。 如果脚本依赖于先前的行为,请更新这些脚本。 |
kubectl get cronjob 输出 |
kubectl get cronjob 输出已更改为包含时区列。 如果脚本依赖于先前的行为,请更新这些脚本。 |
KubernetesAPI 服务器审计策略 | Kubernetes API 服务器 default 和 verbose 审计策略 已更新。 如果您的应用程序依赖于以前的政策,请更新它们。 |
在 V 1.30 上创建的 VPC 集群的重要联网更改
从 V 1.30开始,IBM Cloud Kubernetes Service 为 VPC 集群引入了称为“按缺省集群安全 VPC 联网”的新安全性功能。
在高级别,IBM Cloud Kubernetes Service VPC 集群的安全态势已从允许所有出站流量和为用户提供根据需要选择性阻止流量的机制转变为现在阻止对集群功能并不重要的所有流量,并为用户提供根据需要选择性允许流量的机制。
当您供应新的 IBM Cloud Kubernetes Service VPC 集群 (版本为 1.30 或更高版本) 时,缺省供应行为是仅允许集群运行所需的流量。 所有其他访问都被阻止。 为实现“按缺省联网安全”,对缺省 VPC 安全组设置以及公共 IBM 服务的新虚拟专用端点 (VPE) 进行了更改。
“按缺省联网安全”的一些关键说明如下:
-
仅适用于 VPC 集群。 经典集群不受影响。
-
不影响现有集群。 VPC 中的现有群集将继续像现在一样运行。
-
仅适用于在 V 1.30上新供应的 IBM Cloud Kubernetes Service 集群。 升级到 V 1.30的现有 IBM Cloud Kubernetes Service 集群的安全组配置 (包括您所做的任何定制) 不会更改。
-
在 V 1.30 和更高版本上创建的集群的缺省行为是启用“缺省出站流量保护”。 但是,UI,CLI,API 和 Terraform 中的新参数允许您禁用此功能。 您还可以在创建集群后启用和禁用出站流量保护。
-
如果 VPC 使用定制 DNS 解析器,那么供应新的 1.30 集群将自动添加允许流量通过 IKS 管理的安全组 (
kube-<clusterID>
) 上的解析器 IP 地址的规则。
有关 Secure by Default Cluster VPC 联网的概述,包括缺省情况下创建的安全组,规则和 VPE,请参阅 了解 Secure by Default Cluster VPC Networking。
允许哪些连接?
在启用了 Secure by Default 出站流量保护的 VPC 集群中,允许以下连接。
- 访问内部 IBM
*.icr.io
注册表以通过 VPE 网关拉取必需的容器映像。 - 通过 VPE 网关访问集群主节点和 IBM Cloud Kubernetes Service API。
- 访问其他基本 IBM 服务,例如通过专用 IBM 网络进行日志记录和监视。
- 访问IBM CloudDNS。
哪些连接被阻塞?
查看缺省情况下阻塞的连接的以下示例。 请注意,您可以选择性地启用到应用程序需要的这些或其他外部源的出站流量。
- 从公共注册表 (例如 quay.io 和 Docker Hub) 拉取映像。
- 通过公用网络访问任何服务。
对工作程序到主备份通信的更改
VPC 集群工作程序使用专用网络与集群主节点进行通信。 先前,对于启用了公共服务端点的 VPC 集群,如果专用网络被阻塞或不可用,那么集群工作程序可能会回退到使用公用网络与集群主节点进行通信。
在具有“缺省情况下安全”出站流量保护的集群中,由于来自集群工作程序的公共出站流量被阻塞,因此无法选择回退到公用网络。 您可能希望禁用出站流量保护以允许此公用网络备份选项,但是有更好的替代方法。 相反,如果通过专用网络的工作程序到主节点的连接存在临时问题,那么您可以在此时向 kube-clusterID
安全组添加临时安全组规则,以允许到集群主节点 apiserver
端口的出站流量。 这样您只允许 apiserver
的流量,而不允许所有流量。 稍后,当问题得到解决时,您可以除去临时规则。
创建 1.30 集群后允许出站流量
如果在启用了出站流量保护的情况下创建了 V 1.30 集群,那么应用程序或服务可能会由于需要外部网络连接的依赖关系而迂到停机时间。 查看以下选项以选择性地启用出站流量或允许所有出站流量。
有关更多信息,请参阅 管理 VPC 集群中的出站流量保护。
VPE 网关创建信息
当 VPC 群集创建到或更新到版本1.30 时,如果不存在以下 VPE 网关,则会创建它们。
VPE DNS 名称 | 服务 | 版本 |
---|---|---|
s3.direct.<region>.cloud-object-storage.appdomain.cloud 和 *.s3.direct.<region>.cloud-object-storage.appdomain.cloud |
Cloud Object Storage | 1.30及更高版本 |
config.direct.cloud-object-storage.cloud.ibm.com |
Cloud Object Storage | 1.30及更高版本 |
<region>.private.iaas.cloud.ibm.com |
VPC 基础架构 | 1.30及更高版本 |
icr.io 和 "*.icr.io * |
Container Registry | 1.28及更高版本 |
api.<region>.containers.cloud.ibm.com * |
IBM Cloud Kubernetes Service | 1.28及更高版本 |
- 对于更新到1.30的群集,这些 VPE 网关应该已经存在,因为它们是在群集处于1.28或1.29创建的。 这些 VPE 网关由 VPC 中的所有资源共享,在首次创建时,它们会更改与这些服务相关的 IP 地址,并限制对它们的访问。
如果 VPC 中的任何资源正在使用这些服务中的任何服务,而 VPE Gateway 尚不存在,则必须在更新之前并可能在更新期间采取以下措施,以确保资源仍可访问。
是创建新的1.30群集,还是升级现有1.29群集的主控器,所采取的步骤有所不同。
- 新的1.30群集会获得上述“默认安全”配置。
- 升级后的现有1.29群集继续使用旧的安全组模式。
升级到1.30版时创建的 VPE 网关
如果 VPC 中还没有1.30版的 VPE 网关,则会创建三个新的 VPE 网关。 此外,每个区域的每个 VPE 网关都会为每个有群集工作者的区域添加一个 IP 地址。 这些 IP 地址来自该区域中的一个现有 VPC 子网。
VPE 网关被归入现有的 "kube-<vpcID>
安全组,默认情况下允许所有流量。 除非修改了该安全组,否则不需要添加任何规则来允许对这些新 VPE 网关的入站访问。
如果修改了 "kube-<vpcID>
安全组,则必须确保 VPC 中使用这些服务的所有资源都允许对该安全组进行入站访问。 此外,确保子网上没有网络 ACL、资源本身没有安全组,也没有阻止访问这些新 VPE 网关的自定义 VPC 路由。
创建新的1.30群集时的新 VPE 网关配置
如果 VPC 中还没有 VPE 网关,则会创建五个新的 VPE 网关。 此外,每个区域的每个 VPE 网关都会为每个有群集工作者的区域添加一个 IP 地址。 这些 IP 地址来自该区域中的一个现有 VPC 子网。
VPE 网关被归入一个新的“kube-vpegw-<vpcID>
安全组,该安全组只允许从群集工作人员安全组”kube-<clusterID>
向这些新的 VPE 网关输入流量。
在创建群集之前,对于 VPC 中访问这些端点的任何资源,请确保子网上没有网络 ACL、资源本身没有安全组,也没有阻止访问这些新 VPE 网关的自定义 VPC 路由。
更新群集时,请注意 "kube-vpegw-<vpcID>
安全组的创建。 创建后,添加必要的入站规则,允许所有非群集工作者资源访问正在创建的新 VPE 网关。 请注意,VPC 中的所有群集工作者已经可以通过创建群集时自动添加的安全组规则访问这些 VPE 网关。
有关类似用例的更多信息,请参阅 VPC 应用程序故障排除。