1.10.13. Assisted Installer を使用した TNF クラスターのインストール (テクノロジープレビュー)
テクノロジープレビュー: フェンシング付き 2 ノード (TNF) クラスターは、2 つのコントロールプレーンノードを持つ Red Hat OpenShift Container Platform クラスターです。TNF クラスターを使用して、エッジでの冗長性を確保し、ハードウェアコストを制限します。
前提条件
-
baremetalまたはnoneプラットフォームを使用している。 - プラットフォームノードのベースボード管理コントローラー (BMC) にアクセスできる。
- OpenShift Container Platform マネージドクラスターのバージョンが 4.20 である。
手順
Assisted Installer を使用して TNF クラスターをインストールするには、次の手順を実行します。
assisted-servicePod で環境変数を設定して、Assisted Installer による TNF クラスターインストール機能を有効にします。次の
ConfigMapリソースを作成します。apiVersion: v1 data: TNF_CLUSTERS_SUPPORT: "true" kind: ConfigMap metadata: name: assisted-service-custom namespace: multicluster-engineAgentServiceConfigリソースのアノテーションでConfigMapリソースを参照します。以下のコマンドを実行します。oc annotate agentserviceconfig agent unsupported.agent-install.openshift.io/assisted-service-configmap=assisted-service-custom
必要なリソースを作成して、ハブクラスター上の TNF クラスターオブジェクトを設定します。
namespace を作成します。以下の YAML 例を使用してください。
apiVersion: v1 kind: Namespace metadata: name: tnf-clusterプルシークレットを作成します。以下の YAML 例を使用してください。
<your-base64-pull-secret>は、プルシークレットの名前に置き換えます。apiVersion: v1 kind: Secret type: kubernetes.io/dockerconfigjson metadata: name: pull-secret namespace: tnf-cluster data: .dockerconfigjson: <your-base64-pull-secret>AgentClusterInstallリソースを作成します。以下の YAML 例を使用してください。<your-public-ssh-key>は、公開 SSH キーに置き換えます。apiVersion: extensions.hive.openshift.io/v1beta1 kind: AgentClusterInstall metadata: name: tnf-cluster namespace: tnf-cluster spec: platformType: BareMetal apiVIPs: [192.168.122.10] ingressVIPs: [192.168.122.20] clusterDeploymentRef: name: tnf-cluster imageSetRef: name: img4.20.0-rc.3-x86-64-appsub networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 machineNetwork: - cidr: 192.168.122.0/24 serviceNetwork: - 172.30.0.0/16 provisionRequirements: controlPlaneAgents: 2 sshPublicKey: <your-public-ssh-key>ClusterDeploymentリソースを作成します。以下の YAML 例を使用してください。<yourdomain.com>は、自分のドメインアドレスに置き換えます。apiVersion: hive.openshift.io/v1 kind: ClusterDeployment metadata: name: tnf-cluster namespace: tnf-cluster spec: baseDomain: <yourdomain.com> clusterInstallRef: group: extensions.hive.openshift.io kind: AgentClusterInstall name: tnf-cluster version: v1beta1 clusterName: tnf-cluster controlPlaneConfig: servingCertificates: {} platform: agentBareMetal: agentSelector: cluster: tnf pullSecretRef: name: pull-secretInfraEnvリソースを作成します。以下の YAML 例を使用してください。<your-public-ssh-key>は、公開 SSH キーに置き換えます。apiVersion: agent-install.openshift.io/v1beta1 kind: InfraEnv metadata: name: tnf-cluster namespace: tnf-cluster spec: clusterRef: name: tnf-cluster namespace: tnf-cluster pullSecretRef: name: pull-secret sshAuthorizedKey: <your-public-ssh-key>
オプション: 各ノードのフェンシング認証情報シークレットを作成します。以下の YAML 例を使用してください。
<username>と<password>は、自分のユーザー名とパスワードに置き換えます。certificateVerificationフィールドのデフォルト値はEnabledです。apiVersion: v1 stringData: address: https://bmc.example.com certificateVerification: Disabled username: <username> password: <password> kind: Secret metadata: name: node-0-fencing-credentials namespace: tnf-cluster type: Opaque注記: Agent のフェンシング認証情報は、Agent が
agent.spec.fencingCredentialsSecretRefフィールドで参照する Agent namespace に Kubernetes シークレットとして保存されます。Agent フェンシング認証情報を設定するには、次のいずれかの方法を使用します。メソッドは優先度の降順でリストされます。
シークレットを手動で作成し、シークレットを参照する
BareMetalHostリソースにアノテーションを追加します。次のアノテーションキーを使用します。bmac.agent-install.openshift.io/fencing-credentials-secret-name注記: Assisted Installer は、Agent の
fencingCredentialsSecretRefフィールドをアノテーションの値に設定します。Agent
BareMetalHostリソースにアノテーションを設定して、BareMetalHostBMC 設定からシークレットを作成します。次のアノテーションキーを使用します。bmac.agent-install.openshift.io/create-fencing-credentials-secret注記: 任意の値を使用できます。
-
シークレットを手動で作成します。次に、Agent の
fencingCredentialsSecretRefフィールドを手動でシークレット名に設定します。