|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
示例方案
这些示例场景描述了一个组织如何使用模板来标准化集群创建。
-
*强制模板:*如果管理员希望所有由 Rancher 提供的新集群都具备这些设置,他们可能会 对所有用户强制应用一种或多种模板设置。
-
*与不同用户共享不同模板:*管理员可能会给 基础用户和高级用户分别分配不同的模板,以便基础用户选项更为受限,而高级用户在创建集群时拥有更大的灵活性。
-
*更新模板设置:*如果一个组织的安全和 DevOps 团队决定将最佳实践嵌入到新集群的必需设置中,这些最佳实践可能会随着时间而变化。如果最佳实践发生变化,模板可以更新到新版本,并且从该模板创建的集群可以升级到模板的新版本。
-
*共享模板的所有权:*当模板所有者不再想维护模板,或想要委托模板的所有权时,这种情况描述了 如何共享模板所有权。
为所有人强制模板设置
假设有一个组织,管理员决定所有新集群应使用 Kubernetes 版本 1.14 创建。
-
首先,管理员创建一个模板,指定 Kubernetes 版本为 1.14,并将所有其他设置标记为 允许用户覆盖。
-
管理员将模板设为公开。
-
管理员启用模板强制。
结果:
-
组织中的所有 Rancher 用户都可以访问该模板。
-
所有使用该模板创建的新集群的 标准用户 将使用 Kubernetes 1.14,并且无法使用其他 Kubernetes 版本。默认情况下,标准用户没有权限创建模板,因此除非与他们共享更多模板,否则该模板将是他们唯一可以使用的模板。
-
所有标准用户必须使用集群模板来创建新集群。他们不能在不使用模板的情况下创建集群。
通过这种方式,管理员在整个组织中强制执行 Kubernetes 版本,同时仍然允许最终用户配置其他所有内容。
基础用户和高级用户的模板
假设一个组织同时拥有基础用户和高级用户。管理员希望基础用户必须使用模板,而高级用户和管理员可以随意创建他们的集群。
*结果:*所有Rancher用户,除了管理员,创建集群时都必须使用模板。每个人都可以访问限制性模板,但只有高级用户有权限使用更宽松的模板。基础用户受到更多限制,而高级用户在配置他们的Kubernetes集群时拥有更多自由。
更新模板和使用它们创建的集群
假设一个组织有一个模板,要求集群使用Kubernetes v1.14。然而,随着时间的推移,管理员改变了主意。他们决定希望用户能够升级他们的集群以使用更新版本的Kubernetes。
在这个组织中,许多集群是使用要求Kubernetes v1.14的模板创建的。由于模板不允许覆盖该设置,因此创建集群的用户无法直接编辑该设置。
模板所有者有几种选项,可以允许集群创建者在其集群上升级Kubernetes:
-
*在模板中指定 Kubernetes v1.15:*模板所有者可以创建一个新的模板修订版,指定Kubernetes v1.15。然后,使用该模板的每个集群的所有者可以将其集群升级到模板的新修订版。此模板升级允许集群创建者在其集群上将Kubernetes升级到v1.15。
-
在模板中允许任何 Kubernetes 版本:*在创建模板修订版时,模板所有者还可以通过Rancher UI中该设置附近的开关将Kubernetes版本标记为*允许用户覆盖。这将允许升级到此模板修订版的集群使用任何版本的Kubernetes。
-
在模板中允许最新的小版本 Kubernetes:*模板所有者还可以创建一个模板修订版,其中Kubernetes版本定义为*最新v1.14(允许补丁版本升级)。这意味着使用该修订版的集群将能够获得补丁版本升级,但不允许进行主要版本升级。
允许其他用户控制和共享模板
假设爱丽丝是Rancher管理员。她拥有一个RKE模板,反映了她组织达成一致的最佳实践,用于创建集群。
鲍勃是一个高级用户,可以对集群配置做出明智的决策。爱丽丝信任鲍勃在最佳实践随着时间的推移而更新时创建她模板的新修订版。因此,她决定让鲍勃成为模板的所有者。
为了与鲍勃共享模板的所有权,爱丽丝 将鲍勃添加为她的模板所有者。
结果是,作为模板所有者,鲍勃负责该模板的版本控制。鲍勃现在可以进行以下所有操作:
-
修订模板,当最佳实践发生变化时
-
禁用过时的修订,以便无法再用它创建新集群
-
删除整个模板,如果组织想要走不同的方向
-
将某个修订设置为默认,当用户使用该修订创建集群时。模板的最终用户仍然可以选择他们想要使用哪个修订来创建集群。
-
与特定用户共享模板,使模板对所有Rancher用户可用,或与其他用户共享模板的所有权。