默认情况下为4.14及更早版本创建的群集启用安全功能
虚拟私有云 4.4.14及以前
以下步骤将指导您在4.15 之前创建的群集上启用默认情况下安全的安全组配置。 默认情况下的安全联网为在4.15及更高版本中创建的新配置 VPC 群集引入了新的安全组配置和行为。 在4.14及更早版本中创建的群集在更新到4.15 时无法获得默认安全组配置。
在集群上默认启用安全功能是永久性且不可逆转的操作。 启用过程要求您替换群集中的所有工作者节点。 仅在有益的情况下才会默认启用安全功能。 请注意,在更换所有工作程序之前,可能无法访问负载平衡器。 有关更多信息,请参阅 了解默认情况下的安全。
准备启用安全默认设置
要知道,如果在群集上默认启用安全功能,那么只允许群集运行所需的流量,其他所有访问都会被阻止。
-
确认群集的默认版本支持安全。 将群集更新到至少4.15。
-
验证您的群集默认情况下是否已经安全。 您可以运行 "
ibmcloud ks cluster get
并查看输出结果。 -
确认当前没有任何工作节点处于调配状态。
Retrieving cluster CLUSTER... OK Name: CLUSTER ID: CLUSTER State: normal Status: All Workers Normal ... Secure By Default Networking: enabled Outbound Traffic Protection: enabled
-
确认您不会超出任何配额。 如果超过以下任何配额,启用过程将失败。 更多信息,请参阅 VPC 配额。
- 您的 VPC 中必须有 15 个或更少的群集。 最多有 15 条规则可将其他安全组作为源或目标。 默认情况下,Red Hat OpenShift on IBM Cloud会为 VPC 中的每个群集应用一条针对 "
kube-<clusterID>
安全组的规则。 由于存在这个配额,在给定的 VPC 中只能创建 15 个群集。 - 您的 VPC 中必须有 95 个或更少的安全组。 一个 VPC 中最多可有 100 个安全组。 默认情况下,启用安全功能会创建 4 个安全组。 如果你已经有近 100 个安全组,那么在继续之前,请考虑减少或合并它们。
- 群集工作者的安全组必须为 4 个或更少。 群集工作者最多可拥有 5 个安全组。 默认情况下,启用安全功能会为工人增加一个安全组。
- 您的 VPC 中必须有 15 个或更少的群集。 最多有 15 条规则可将其他安全组作为源或目标。 默认情况下,Red Hat OpenShift on IBM Cloud会为 VPC 中的每个群集应用一条针对 "
-
如果现有群集工作者安全组(
kube-<clusterID>
)上有自定义安全组规则,则会在启用过程中删除。 如果您想保留这些规则,请提前记下,并在启用后添加。
默认情况下启用安全后会发生什么?
启用“默认情况下的安全”后,将创建或更新以下一组“默认情况下的安全”安全组。
安全组 | 变动说明 |
---|---|
kube-<clusterID> |
群集工作者安全组(kube-<clusterID> )已重置。 该安全组连接到群集工作者。 通常,这个小组已经存在。 但是,如果您的工作人员目前只使用自己自定义的用户定义安全组,那么在群集的初始创建过程中就不会创建该安全组。 在这种情况下,就会创建该组。 删除所有现有规则,并将新的默认安全组规则添加到此安全组。 负载平衡器将规则应用于群集 Worker 和负载平衡器安全组。 |
kube-vpegw-<clusterID> |
为主 VPE 网关创建一个新的安全组。 删除任何现有规则。 因为这是一个新团体,很可能没有规则。 |
kube-vpegw-<vpcID> |
共享 VPE 网关的新安全组。 如果 VPC 中已有默认安全群集,则该安全组可能已经存在。 由于该组由所有群集共享,因此只创建一次。 之前的 VPE 网关安全组(kube-<vpcID> )将从所有IBM的共享 VPE 网关中删除,并替换为新的共享 VPE 网关安全组(kube-vpegw-<vpcID> )。如果您的 VPC 中有其他4.15及更高版本的默认安全群集,则可能已经执行了此操作。 |
kube-lbaas-<clusterID> |
负载平衡器的新安全组。 更新负载平衡器(NLB 和 ALB)上的安全组。 先前的负载平衡器安全组(kube-<vpcID> )将从负载平衡器中删除,并替换为新的负载平衡器安全组(kube-lbaas-<clusterID> )。如果负载平衡器上不存在先前的安全组,则不会采取任何操作。 只有IBM负载平衡器和安全组受到影响。 自定义安全组不会被删除或替换。 |
kube-<vpcID> |
以前的 VPE 网关安全组(kube-<vpcID> )将从主 VPE 网关中删除,并由新的主 VPE 网关安全组(kube-vpegw-<clusterID> )取代。 |
默认 VPC 安全组 | 不再使用默认 VPC 安全组。 |
自定义安全组 | 附加到群集工作者节点上的任何用户定义的安全组都会附加到新工作者上。 自定义安全组不会被删除或替换。 |
更改的顺序是什么?
默认情况下,将群集更新为安全模式时会执行以下操作。
-
默认情况下,以下安全组如果还不存在,就会被创建。
kube-<clusterID>
kube-vpegw-<clusterID
kube-vpegw-<vpcID>
kube-lbaas-<clusterID>
-
更新连接到 VPE 网关的安全组。 只有IBM网关和安全组受到影响。 自定义安全组不受影响。 如果网关上不存在之前的安全组,则不会采取任何措施。
-
以前的 VPE 网关安全组(
kube-<vpcID>
)将从主 VPE 网关中删除,并由新的主 VPE 网关安全组(kube-vpegw-<clusterID>
)取代。 -
之前的 VPE 网关安全组(
kube-<vpcID>
)将从所有IBM的共享 VPE 网关中删除,并替换为新的共享 VPE 网关安全组(kube-vpegw-<vpcID>
)。如果您的 VPC 中有其他默认安全群集,这可能已经发生。 -
更新连接到负载平衡器(NLB 和 ALB)的安全组。 只更新IBM负载平衡器和安全组。 自定义安全组不受影响。 如果负载平衡器上不存在之前的安全组,则不会采取任何操作。
-
从负载平衡器中删除先前的负载平衡器安全组(
kube-<vpcID>
),并用新的负载平衡器安全组(kube-lbaas-<clusterID>
)取而代之 -
群集工作者安全组(
kube-<clusterID>
)已重置。- 删除所有现有规则。
- 新增默认安全组规则。
-
负载平衡器规则同时应用于群集 Worker 和负载平衡器安全组。
-
重置主 VPE 网关安全组。
- 删除所有现有规则。 但是,由于这是新建的(在步骤 1 中),通常没有规则。
- 新增默认安全组规则。
前面的步骤会自动执行。 不过,在安全之前创建的群集默认情况下会将默认 VPC 安全组附加到工作者。 该安全组必须删除,但不能通过IBM提供的自动化功能删除。 因此,您必须手动替换工人才能完成更新过程。 在工人替换过程中,会发生以下更新
-
群集 Worker 安全组(
kube-<clusterID>
)和任何先前添加的用户定义安全组都会附加到新 Worker 上。 -
不再使用默认 VPC 安全组。
默认启用安全
完成以下步骤,将默认安全组配置应用到群集。
-
运行以下命令。
ibmcloud oc vpc secure-by-default enable --cluster <CLUSTER ID> [--disable-outbound-traffic-protection][-f]
-
请等待该过程完成。 有多种因素会影响群集启用默认安全功能所需的时间。 大多数情况下,不到 5 分钟就能完成。 您可以通过检查新的安全组来验证该过程是否已完成。
- 您的主 VPE 网关安全组
kube-vpegw-CLUSTERID
包含规则。 - 您的负载平衡器安全组
kube-lbaas-CLUSTERID
包含规则。
- 您的主 VPE 网关安全组
-
更换群集中的所有工作节点。
ibmcloud oc worker replace --cluster CLUSTER --worker WORKER -f