$ oc get infrastructure cluster \
-o jsonpath='{.status.infrastructureName}'
使用集群 API 管理机器仅为技术预览功能。技术预览功能不受 Red Hat 生产服务级别协议 (SLA) 支持,并且可能功能不完整。Red Hat 不建议在生产环境中使用它们。这些功能可让客户尽早访问即将推出的产品功能,从而能够在开发过程中测试功能并提供反馈。 有关 Red Hat 技术预览功能的支持范围的更多信息,请参阅 技术预览功能支持范围。 |
对于集群 API 技术预览,您必须手动创建集群 API 所需的主资源。
要创建集群 API 主资源,您必须获取集群 ID 值,该值用于集群资源清单中的<cluster_name>
参数。
您可以使用 OpenShift CLI (oc
) 查找集群 ID 值。
您已部署 OpenShift Container Platform 集群。
您可以使用具有 cluster-admin
权限的帐户访问集群。
您已安装 OpenShift CLI (oc
)。
运行以下命令获取集群 ID 值
$ oc get infrastructure cluster \
-o jsonpath='{.status.infrastructureName}'
您可以通过创建 YAML 清单文件并使用 OpenShift CLI (oc
) 应用它们来手动创建集群 API 主资源。
您可以通过创建 YAML 清单文件并使用 OpenShift CLI (oc
) 应用它来创建集群资源。
您已部署 OpenShift Container Platform 集群。
您已启用集群 API 的使用。
您可以使用具有 cluster-admin
权限的帐户访问集群。
您已安装 OpenShift CLI (oc
)。
您拥有集群 ID 值。
创建一个类似于以下内容的 YAML 文件。此步骤使用<cluster_resource_file>.yaml
作为示例文件名。
apiVersion: cluster.x-k8s.io/v1beta1
kind: Cluster
metadata:
name: <cluster_name> (1)
namespace: openshift-cluster-api
spec:
infrastructureRef:
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: <infrastructure_kind> (2)
name: <cluster_name>
namespace: openshift-cluster-api
1 | 将集群 ID 指定为集群的名称。 |
2 | 指定集群的基础架构类型。以下值为有效值
|
运行以下命令创建集群 CR
$ oc create -f <cluster_resource_file>.yaml
运行以下命令确认集群 CR 是否存在
$ oc get cluster
NAME PHASE AGE VERSION
<cluster_name> Provisioning 4h6m
当PHASE
的值为Provisioned
时,集群资源已准备就绪。
您可以通过创建 YAML 清单文件并使用 OpenShift CLI (oc
) 应用它来创建特定于提供商的基础架构资源。
您已部署 OpenShift Container Platform 集群。
您已启用集群 API 的使用。
您可以使用具有 cluster-admin
权限的帐户访问集群。
您已安装 OpenShift CLI (oc
)。
您拥有集群 ID 值。
您已创建并应用了集群资源。
创建一个类似于以下内容的 YAML 文件。此步骤使用<infrastructure_resource_file>.yaml
作为示例文件名。
apiVersion: infrastructure.cluster.x-k8s.io/<version> (1)
kind: <infrastructure_kind> (2)
metadata:
name: <cluster_name> (3)
namespace: openshift-cluster-api
spec: (4)
1 | apiVersion 根据平台而异。更多信息,请参阅您提供商的 Cluster API 基础设施资源 YAML 示例。以下值为有效值
|
2 | 指定集群的基础设施类型。此值必须与您的平台值匹配。以下值为有效值
|
3 | 指定集群的名称。 |
4 | 指定您环境的详细信息。这些参数是特定于提供商的。更多信息,请参阅您提供商的 Cluster API 基础设施资源 YAML 示例。 |
运行以下命令创建基础设施 CR
$ oc create -f <infrastructure_resource_file>.yaml
运行以下命令确认基础设施 CR 已创建
$ oc get <infrastructure_kind>
其中 <infrastructure_kind>
是与您的平台对应的值。
NAME CLUSTER READY
<cluster_name> <cluster_name> true
此输出可能包含特定于您的云提供商的其他列。 |
您可以通过创建 YAML 清单文件并使用 OpenShift CLI (oc
) 应用它来创建特定于提供商的机器模板资源。
您已部署 OpenShift Container Platform 集群。
您已启用集群 API 的使用。
您可以使用具有 cluster-admin
权限的帐户访问集群。
您已安装 OpenShift CLI (oc
)。
您已创建并应用了集群和基础设施资源。
创建一个类似于以下内容的 YAML 文件。此过程使用 <machine_template_resource_file>.yaml
作为示例文件名。
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: <machine_template_kind> (1)
metadata:
name: <template_name> (2)
namespace: openshift-cluster-api
spec:
template:
spec: (3)
1 | 指定机器模板类型。此值必须与您的平台值匹配。以下值为有效值
|
2 | 指定机器模板的名称。 |
3 | 指定您环境的详细信息。这些参数是特定于提供商的。更多信息,请参阅您提供商的 Cluster API 机器模板 YAML 示例。 |
运行以下命令创建机器模板 CR
$ oc create -f <machine_template_resource_file>.yaml
运行以下命令确认机器模板 CR 已创建
$ oc get <machine_template_kind>
其中 <machine_template_kind>
是与您的平台对应的值。
NAME AGE
<template_name> 77m
您可以创建使用 Cluster API 动态管理您选择的特定工作负载的机器计算资源的计算机器集。
您已部署 OpenShift Container Platform 集群。
您已启用集群 API 的使用。
您可以使用具有 cluster-admin
权限的帐户访问集群。
您已安装 OpenShift CLI (oc
)。
您已创建集群、基础设施和机器模板资源。
创建一个类似于以下内容的 YAML 文件。此过程使用 <machine_set_resource_file>.yaml
作为示例文件名。
apiVersion: cluster.x-k8s.io/v1beta1
kind: MachineSet
metadata:
name: <machine_set_name> (1)
namespace: openshift-cluster-api
spec:
clusterName: <cluster_name> (2)
replicas: 1
selector:
matchLabels:
test: example
template:
metadata:
labels:
test: example
spec: (3)
# ...
1 | 指定计算机器集的名称。 |
2 | 指定集群的名称。 |
3 | 指定您环境的详细信息。这些参数是特定于提供商的。更多信息,请参阅您提供商的 Cluster API 计算机器集 YAML 示例。 |
运行以下命令创建计算机器集 CR
$ oc create -f <machine_set_resource_file>.yaml
运行以下命令确认计算机器集 CR 已创建
$ oc get machineset -n openshift-cluster-api (1)
1 | 指定 openshift-cluster-api 命名空间。 |
NAME CLUSTER REPLICAS READY AVAILABLE AGE VERSION
<machine_set_name> <cluster_name> 1 1 1 17m
当新的计算机器集可用时,REPLICAS
和 AVAILABLE
值将匹配。如果计算机器集不可用,请等待几分钟,然后再次运行命令。
要验证计算机器集是否根据您的所需配置创建机器,请通过运行以下命令查看集群中的机器和节点列表
查看 Cluster API 机器列表
$ oc get machine -n openshift-cluster-api (1)
1 | 指定 openshift-cluster-api 命名空间。 |
NAME CLUSTER NODENAME PROVIDERID PHASE AGE VERSION
<machine_set_name>-<string_id> <cluster_name> <ip_address>.<region>.compute.internal <provider_id> Running 8m23s
查看节点列表
$ oc get node
NAME STATUS ROLES AGE VERSION
<ip_address_1>.<region>.compute.internal Ready worker 5h14m v1.28.5
<ip_address_2>.<region>.compute.internal Ready master 5h19m v1.28.5
<ip_address_3>.<region>.compute.internal Ready worker 7m v1.28.5