5.5. 注册新集群
要使用 API 注册新集群定义,请使用 /v2/clusters 端点。
以下参数是必需的:
-
name
-
openshift-version
-
pull_secret
-
cpu_architecture
有关注册新集群时可设置的字段的详情,请参阅 API viewer 中的 cluster-create-params
模型。设置 olm_operators
字段时,请参阅 其它资源,以了解安装 Operator 的详情。
先决条件
-
您已生成了一个有效的
API_TOKEN
。令牌每 15 分钟过期一次。 - 您已下载了 pull secret。
-
可选: 您已将 pull secret 分配给
$PULL_SECRET
变量。
流程
刷新 API 令牌:
source refresh-token
$ source refresh-token
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下方法之一注册新集群:
在请求中引用 pull secret 文件:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将配置写入 JSON 文件,然后在请求中引用它:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow curl -s -X POST "https://api.openshift.com/api/assisted-install/v2/clusters" \ -d @./cluster.json \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $API_TOKEN" \ | jq '.id'
$ curl -s -X POST "https://api.openshift.com/api/assisted-install/v2/clusters" \ -d @./cluster.json \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $API_TOKEN" \ | jq '.id'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1 1
- 请注意以下几点:
-
要安装最新的 OpenShift 版本,请使用
x.y
格式,如对于版本 4.16.10,使用4.16
。要安装特定的 OpenShift 版本,请使用x.y.z
格式,如4.16.3
版本。 -
要安装多架构计算集群,请为特定版本添加
4.16
扩展,如-multi
4.16-multi
。 - 如果您要从 iSCSI 驱动器引导,请输入 OpenShift Container Platform 版本 4.15 或更高版本。
-
要安装最新的 OpenShift 版本,请使用
- 2 2
- (可选)将单节点 OpenShift 集群的 control plane 节点数量设置为
1
,对于带有 Arbiter 集群的双节点 OpenShift,或3
、4
或5 (
用于多节点 OpenShift Container Platform 集群)设置为2
个或更多节点。如果省略此设置,则 Assisted Installer 会将3
设置为默认值。注意-
control_plane_count
字段替换high_availability_mode
字段,该字段已弃用。详情请参阅 API 弃用通知。 - 目前,IBM Z® 和 IBM Power® 平台上不支持单节点 OpenShift。
-
Assisted Installer 在带有 x86_64 CPU 架构的裸机或用户管理的网络平台上支持 OpenShift Container Platform 4.18 及之后的版本中的
4
或5
control plane 节点。详情请参阅关于指定 control plane 节点数量。 -
Assisted Installer 支持 OpenShift Container Platform 4.19 及之后的版本中的
2
个 control plane 节点,用于带有 Arbiter 集群拓扑的 Two-Node OpenShift。如果集群的 control plane 节点数量为2
,则必须至少有一个额外的仲裁程序主机。详情请参阅 带有 Arbiter 资源要求的两个节点 OpenShift。
-
- 3
- 有效值为
x86_64
,arm64
,ppc64le
,s390x
, 或multi
。为多架构
计算集群指定 multi。
将返回的
cluster_id
分配给CLUSTER_ID
变量,并导出它:export CLUSTER_ID=<cluster_id>
$ export CLUSTER_ID=<cluster_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果关闭终端会话,则需要在新的终端会话中再次导出
CLUSTER_ID
变量。检查新集群的状态:
curl -s -X GET "https://api.openshift.com/api/assisted-install/v2/clusters/$CLUSTER_ID" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $API_TOKEN" \ | jq
$ curl -s -X GET "https://api.openshift.com/api/assisted-install/v2/clusters/$CLUSTER_ID" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $API_TOKEN" \ | jq
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
注册新的集群定义后,为集群创建基础架构环境。
在创建基础架构环境前,您无法在 Assisted Installer 用户界面中看到集群配置设置。
5.5.1. 安装 Operator 复制链接链接已复制到粘贴板!
您可以在安装过程中将 Operator 添加到集群来自定义部署。您可以单独安装一个或多个 Operator,或添加组成捆绑包的一组 Operator。如果需要高级选项,请在安装集群后添加 Operator。
此步骤是可选的。
5.5.1.1. 安装独立 Operator 复制链接链接已复制到粘贴板!
在选择用于安装的 Operator 前,您可以验证辅助安装程序中有哪些 Operator 可用。您还可以检查是否支持特定 OCP 版本、CPU 架构或平台。
您可以使用 assisted-service/v2/clusters/{cluster_id} 端点的 POST 方法以及设置 olm_operators
参数来设置所需的 Operator 定义。
Assisted Installer 允许您安装以下独立 Operator。有关可作为捆绑包的一部分选择的其他 Operator,请参阅 安装捆绑包 Operator。
OpenShift Virtualization Operator (
cnv
)注意- 目前,IBM Z® 和 IBM Power® 不支持 OpenShift Virtualization。
OpenShift Virtualization Operator 需要后端存储,并可能会根据以下条件在后台自动激活存储 Operator:
- None - 如果 CPU 架构是 ARM64,则不会激活存储 Operator。
- LVM Storage - 对于任何其他 CPU 架构上的单节点 OpenShift 集群,部署 OpenShift Container Platform 4.12 或更高版本。
- Local Storage Operator (LSO)- 对于所有其他部署。
Migration Toolkit for Virtualization Operator (
mtv
)注意指定 Migration Toolkit for Virtualization (MTV) Operator 会自动激活 OpenShift Virtualization Operator。对于单节点 OpenShift 安装,辅助安装程序也会激活 LVM Storage Operator。
multicluster engine Operator (
mce
)注意在没有 OpenShift Data Foundation 的情况下部署多集群引擎会导致以下存储配置:
- 多节点集群 :没有配置存储。您必须在安装后配置存储。
- 单节点 OpenShift:安装了 LVM 存储。
-
OpenShift Data Foundation Operator (
odf
) -
Logical Volume Manager Storage Operator (
lvm
) -
OpenShift AI Operator (
openshift-ai
) OpenShift 沙盒容器 Operator (
osc
)重要OpenShift 沙盒容器 Operator 集成到 Assisted Installer 中只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的详情,请参考 https://access.redhat.com/support/offerings/techpreview/。
Kubernetes NMState Operator (
nmstate
)注意目前,您无法在 Nutanix 或 Oracle Cloud Infrastructure (OCI)第三方平台上安装 Kubernetes NMState Operator。
AMD GPU Operator (
amd-gpu
)注意安装 AMD GPU Operator 会自动激活内核模块管理 Operator。
-
内核模块管理 Operator (
kmm
) -
Node Feature Discovery Operator (
node-feature-discovery
) -
自助服务修复(
自节点-remediation
) NVIDIA GPU Operator (
nvidia-gpu
)注意安装 NVIDIA GPU Operator 会自动激活 Node Feature Discovery Operator。
OpenShift AI、AMD GPU、内核模块管理、Node Feature Discovery、自助节点修复和 NVIDIA GPU Operator 集成只是一个技术预览功能。Developer Preview(开发人员预览)功能不被红帽支持,其功能可能并不完善且不是生产环境就绪。不要将开发人员预览功能用于生产环境或业务关键型工作负载。开发人员预览功能可以在之前可能地包含在红帽产品产品中提前访问即将推出的产品功能,使客户能够测试功能并在开发过程中提供反馈。这些功能可能没有任何文档,可能会随时被更改或删除,测试也会受到限制。红帽可能会提供在没有关联 SLA 的情况下提交对开发人员预览功能的反馈。
先决条件
- 您已查看了 使用 Operator 自定义安装 以概述您要安装的每个 Operator,以及其前提条件和依赖项。
流程
可选:运行以下命令,检查辅助安装程序中可用的 Operator:
curl -s "https://api.openshift.com/api/assisted-install/v2/supported-operators" -H "Authorization: Bearer ${API_TOKEN}" | jq .
$ curl -s "https://api.openshift.com/api/assisted-install/v2/supported-operators" -H "Authorization: Bearer ${API_TOKEN}" | jq .
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,检查 Operator 是否支持指定的 OCP 版本、CPU 架构或平台:
curl -s "https://api.openshift.com/api/assisted-install/v2/support-levels/features?openshift_version=4.13&cpu_architecture=x86_64&platform_type=baremetal" -H "Authorization: Bearer ${API_TOKEN}" | jq .features.SNO
$ curl -s "https://api.openshift.com/api/assisted-install/v2/support-levels/features?openshift_version=4.13&cpu_architecture=x86_64&platform_type=baremetal" -H "Authorization: Bearer ${API_TOKEN}" | jq .features.SNO
1 2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 按如下方式替换属性:
-
对于
openshift_version
,请指定 OpenShift Container Platform 版本号。此属性是必需的。 -
对于
cpu_architecture
,指定x86_64
,aarch64
,arm64
,ppc64le
,s390x
, 或multi
。此属性是可选的。 -
对于
platform_type
,指定baremetal
、none
、nutanix
、vsphere
或外部
。此属性是可选的。
-
对于
- 2
- 对于 Operator,为节点功能发现指定
.NODE-FEATURE-DISCOVERY
,.OPENSHIFT-AI
for OpenShift AI,.OSC
for OpenShift 沙盒容器.SELF-NODE-REMEDIATION
for Self Node Remediation,.MTV
for Migration Toolkit for Virtualization,.ODF
for OpenShift Data Foundation, ..CNV
for OpenShift Virtualization,.MCE
for multicluster engine,.PIPELINES
for OpenShift Pipelines,.SERVICEMESH
for OpenShift Service Mesh,.NODE-HEALTHCHECK
for Node Health Check,.NODE
-MAINTENCE for Node Maintenance,.LSO
for Local Storage Operator,.FENCE-AGENTS-REMEDIATION
for Fence Agents 修复,.KUBE-DESCHEDULER
for Kube Descheduler,.SERVERLESS
for OpenShift Serverless,.NVIDIA-GPU
for NVIDIA GPU,.AUTHORINO
for Authorino,.NMSTATE
for NMState,.AMD-GPU
for AMD GPU, .KMM' for Kernel Module Management, 或.LVM
用于 LVM 存储。输出示例
"supported"
"supported"
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 可能的状态是"支持"、"dev-preview"、"tech-preview"和"不可用"。
运行以下命令,检查指定的 OCP 版本、CPU 架构或平台的完整列表:
curl -s "https://api.openshift.com/api/assisted-install/v2/support-levels/features?openshift_version=4.13&cpu_architecture=x86_64&platform_type=baremetal" -H "Authorization: Bearer ${API_TOKEN}" | jq
$ curl -s "https://api.openshift.com/api/assisted-install/v2/support-levels/features?openshift_version=4.13&cpu_architecture=x86_64&platform_type=baremetal" -H "Authorization: Bearer ${API_TOKEN}" | jq
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令指定要安装的 Operator:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 列出要安装的 Operator。为 OpenShift Virtualization 指定
cnv
for OpenShift Virtualization,mtv
for Virtualization,mce
for multicluster engine,odf
for Red Hat OpenShift Data Foundation,lvm
for Logical Volume Manager Storage,openshift-ai
for OpenShift AI,osc
for OpenShift 沙盒容器,nmstate
for Kubernetes NMState,amd-gpu
for AMD GPU,kmm
for Kernel Module Management,node-feature-discovery
for Node Feature Discovery,nvidia-gpu
for NVIDIA andself-node-remediation
用于自助服务修复。安装 Operator 会自动激活任何依赖的 Operator。
5.5.1.2. 安装捆绑包 Operator 复制链接链接已复制到粘贴板!
虽然您无法直接通过 API 安装 Operator 捆绑包,但您可以验证哪些 Operator 包含在捆绑包中,并单独指定每个 Operator。
Assisted Installer 目前支持以下 Operator 捆绑包:
Virtualization Operator 捆绑包 - 包含以下 Operator:
-
kube Descheduler Operator (
kube-descheduler
) -
Node Maintenance Operator {
node-maintenance
} -
Migration Toolkit for Virtualization Operator (
mtv
) -
Kubernetes NMState Operator (
nmstate
) -
隔离代理修复 Operator (
fence-agents-remediation
) -
OpenShift Virtualization Operator (
cnv
) -
Node Health Check Operator (
node-healthcheck
) -
Local Storage Operator (LSO) Operator (
lso
)
-
kube Descheduler Operator (
OpenShift AI Operator 捆绑包 - 包含以下 Operator:
-
Kubernetes Authorino Operator (
作者
) -
OpenShift Data Foundation Operator (
odf
) -
OpenShift AI Operator (
openshift-ai
) -
AMD GPU Operator (
amd-gpu
) -
Node Feature Discovery Operator (
node-feature-discovery
) -
NVIDIA GPU Operator (
nvidia-gpu
) -
OpenShift Pipelines Operator (
管道
) -
OpenShift Service Mesh Operator (
servicemesh
) -
OpenShift Serverless Operator (
无服务器
) -
内核模块管理 Operator (
kmm
)
-
Kubernetes Authorino Operator (
在 Assisted Installer 中引入 Virtualization 和 OpenShift AI Operator 捆绑包只是一个技术预览功能。Developer Preview(开发人员预览)功能不被红帽支持,其功能可能并不完善且不是生产环境就绪。不要将开发人员预览功能用于生产环境或业务关键型工作负载。开发人员预览功能可以在之前可能地包含在红帽产品产品中提前访问即将推出的产品功能,使客户能够测试功能并在开发过程中提供反馈。这些功能可能没有任何文档,可能会随时被更改或删除,测试也会受到限制。红帽可能会提供在没有关联 SLA 的情况下提交对开发人员预览功能的反馈。
先决条件
- 您已参阅 使用 Operator 捆绑包自定义安装,以概述 Operator 捆绑包及其前提条件和相关 Operator。
流程
可选:运行以下命令来检查辅助安装程序中可用的 Operator 捆绑包:
curl -s "https://api.openshift.com/api/assisted-install/v2/operators/bundles" -H "Authorization: Bearer ${API_TOKEN}" | jq .
$ curl -s "https://api.openshift.com/api/assisted-install/v2/operators/bundles" -H "Authorization: Bearer ${API_TOKEN}" | jq .
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:运行以下命令来检查哪些 Operator 与一个特定的捆绑包关联:
curl -s "https://api.openshift.com/api/assisted-install/v2/operators/bundles/virtualization" -H "Authorization: Bearer ${API_TOKEN}" | jq .
$ curl -s "https://api.openshift.com/api/assisted-install/v2/operators/bundles/virtualization" -H "Authorization: Bearer ${API_TOKEN}" | jq .
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 为 Virtualization Operator 捆绑包指定
虚拟化
,或为 OpenShift AI Operator 捆绑包指定openshift-ai
。示例指定了 Virtualization Operator 捆绑包。
输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,安装与捆绑包关联的 Operator:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.5.2. 将工作负载调度到 control plane 节点上运行 复制链接链接已复制到粘贴板!
使用 schedulable_masters
属性启用工作负载在 control plane 节点上运行。
先决条件
-
您已生成了一个有效的
API_TOKEN
。令牌每 15 分钟过期一次。 -
您已创建了
$PULL_SECRET
变量。 - 您要安装 OpenShift Container Platform 4.14 或更高版本。
流程
- 按照使用 Assisted Installer API 安装辅助安装程序的说明进行操作。
当您进入注册新集群这一步时,设置
schedulable_masters
属性,如下所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 启用在 control plane 节点上调度工作负载。
5.5.3. 配置网络管理类型 复制链接链接已复制到粘贴板!
Assisted Installer 允许您安装以下网络管理类型:
您可以通过在集群定义中添加 user_managed_networking
和 load_balancer
属性来定义网络管理类型,如下例所示:
其中:
-
user_managed_networking
为true
或false
。 -
load_balancer
可以具有用户管理
的类型或集群管理的
。
您可以查看 swagger.yaml 文件中的 user_managed_networking
和 load_balancer
有效值。
此步骤是可选的。如果没有定义网络管理类型,辅助安装程序默认将集群管理的网络应用到所有高可用性集群。对于单节点 OpenShift,Assisted Installer 默认应用用户管理的网络。
5.5.3.1. 安装集群管理的网络 复制链接链接已复制到粘贴板!
选择集群管理的网络意味着 Assisted Installer 将配置一个标准网络拓扑。此配置包括一个集成的负载均衡器和虚拟路由,用于管理 API 和 Ingress VIP 地址。详情请参阅 网络管理类型。
先决条件
您要安装三个或更多 control plane 节点的 OpenShift Container Platform 集群。
注意目前,IBM Z® 和 IBM Power® 不支持集群管理的网络。
流程
要定义集群管理的网络,在集群定义中添加以下属性和值:
"user_managed_networking": false, "load_balancer": { "type": "cluster-managed" }
"user_managed_networking": false, "load_balancer": { "type": "cluster-managed" }
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中
load_balancer
属性是可选的。如果为这个配置省略,则对于单节点 OpenShift 自动将type
设置为user-managed
,或针对所有其他实施自动设置为cluster-managed
。
其他资源
5.5.3.2. 安装用户管理的网络 复制链接链接已复制到粘贴板!
选择用户管理的网络将使用非标准网络拓扑部署 OpenShift Container Platform。如果要使用外部负载均衡器和 DNS 部署集群,或者您要在多个不同子网中部署集群节点,请选择用户管理的网络。
详情请参阅 网络管理类型。
Assisted Installer 允许您为用户管理的网络部署多个外部负载均衡器。
Oracle Cloud Infrastructure (OCI)仅适用于带有用户管理的网络配置的 OpenShift Container Platform 4.14。
流程
要定义用户管理的网络,在集群定义中添加以下属性:
"user_managed_networking": true,
"user_managed_networking": true,
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意当用户管理的网络设置为
true
时,不需要load_balancer
属性,因为您要置备自己的负载均衡器。
网络验证
当您启用用户管理的网络时,以下网络验证会改变:
- L3 连接检查(ICMP)替换了 L2 检查(ARP)。
- 最大传输单元(MTU)验证验证所有接口的 MTU 值,而不只验证机器网络的 MTU 值。
其他资源
5.5.3.3. 使用用户管理的负载均衡器安装集群管理的网络 复制链接链接已复制到粘贴板!
使用用户管理的负载均衡器进行集群管理的联网是一个混合网络管理类型,专为需要通过外部控制负载平衡进行自动集群网络的情况而设计。这种方法允许用户提供一个或多个外部负载均衡器(如 API 负载均衡器和入口负载均衡器),同时保留集群管理网络中的裸机功能。
详情请参阅 网络管理类型。
使用用户管理的负载均衡器进行集群管理的网络只是一个技术预览功能。Developer Preview(开发人员预览)功能不被红帽支持,其功能可能并不完善且不是生产环境就绪。不要将开发人员预览功能用于生产环境或业务关键型工作负载。开发人员预览功能可以在之前可能地包含在红帽产品产品中提前访问即将推出的产品功能,使客户能够测试功能并在开发过程中提供反馈。这些功能可能没有任何文档,可能会随时被更改或删除,测试也会受到限制。红帽可能会提供在没有关联 SLA 的情况下提交对开发人员预览功能的反馈。
使用 Assisted Installer API 在裸机或 vSphere 平台上使用用户管理的负载均衡器部署集群管理的网络。
先决条件
- 您要安装 OpenShift Container Platform 版本 4.16 或更高版本。
- 您要在裸机或 vSphere 平台上安装。
- 您使用 IPv4 单堆栈网络。
- 您要安装三个或更多 control plane 节点的 OpenShift Container Platform 集群。
- 对于 vSphere 平台安装,您需要满足 vSphere 安装要求中指定的额外要求。
流程
将负载均衡器配置为可以从所有主机访问,并可访问以下服务:
- OpenShift Machine Config Operator (MCO)- 在 control plane 节点上。
- OpenShift API - 在 control plane 节点上。
- Ingress Controller - 在 compute (worker)节点上。
详情请参阅 配置用户管理的负载均衡器(第 1 步和 2 步 )。
配置集群的 DNS 记录,使其以用户管理的负载均衡器的前端 IP 地址为目标。您必须在负载均衡器上为集群 API 和应用程序的 DNS 服务器更新记录:
配置 DNS 记录以使您的主 API 可以访问:
<load_balancer_ip_address> <record_name> api.<cluster_name>.<base_domain>
<load_balancer_ip_address> <record_name> api.<cluster_name>.<base_domain>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 配置 DNS 记录,通过入口控制器将外部流量路由到您的应用程序:
<load_balancer_ip_address> <record_name> apps.<cluster_name>.<base_domain>
<load_balancer_ip_address> <record_name> apps.<cluster_name>.<base_domain>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于 vSphere,配置 DNS 记录以支持网络中的内部 API 访问:
<load_balancer_ip_address> <record_name> api-int.<cluster_name>.<base_domain>
<load_balancer_ip_address> <record_name> api-int.<cluster_name>.<base_domain>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
详情请参阅 配置用户管理的负载均衡器(第 3 步)。
在 Assisted Installer API 集群定义中添加以下配置:
将
user_managed_networking
和load_balancer
字段设置为以下值:"user_managed_networking": false, "load_balancer": { "type": "user-managed" }
"user_managed_networking": false, "load_balancer": { "type": "user-managed" }
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 详情请参阅 更改网络管理类型。
指定 Ingress 和 API VIP。它们应当与负载均衡器 IP 地址对应:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 指定机器网络列表以确保以下内容:
- 每个节点至少有一个网卡(NIC),至少有一台机器网络 IP 地址。
负载均衡器 IP (也是 API VIP 和 Ingress VIP)至少包含在其中一个机器网络中。
Example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
如需了解更多详细信息,请参阅 机器网络。
网络验证
当您启用此网络管理类型时,以下网络验证会改变:
- L3 连接检查(ICMP)替换了 L2 检查(ARP)。
- 最大传输单元(MTU)验证验证所有接口的 MTU 值,而不只验证机器网络的 MTU 值。