2.5. install-config.yaml ファイルの設定
install-config.yaml
ファイルには、追加の詳細情報が必要です。ほとんどの情報は、インストーラーおよび結果として作成されるクラスターが利用可能な {ibmcloudBMRegProductName} ハードウェアを完全に管理できるように利用可能な {ibmcloudBMRegProductName} ハードウェアについて十分に説明することです。ベアメタルへのインストールと IBM Cloud へのインストールに関する相違点は install-config.yaml ファイルの BMC セクションで IPMI の特権レベルを明示的に設定する必要があることです。
手順
install-config.yaml
を設定します。pullSecret
およびsshKey
など、環境に合わせて適切な変数を変更します。apiVersion: v1 baseDomain: <domain> metadata: name: <cluster_name> networking: machineNetwork: - cidr: <public-cidr> networkType: OVNKubernetes compute: - name: worker replicas: 2 controlPlane: name: master replicas: 3 platform: baremetal: {} platform: baremetal: apiVIP: <api_ip> ingressVIP: <wildcard_ip> provisioningNetworkInterface: <NIC1> provisioningNetworkCIDR: <CIDR> hosts: - name: openshift-master-0 role: master bmc: address: ipmi://10.196.130.145?privilegelevel=OPERATOR 1 username: root password: <password> bootMACAddress: 00:e0:ed:6a:ca:b4 2 rootDeviceHints: deviceName: "/dev/sda" - name: openshift-worker-0 role: worker bmc: address: ipmi://<out-of-band-ip>?privilegelevel=OPERATOR 3 username: <user> password: <password> bootMACAddress: <NIC1_mac_address> 4 rootDeviceHints: deviceName: "/dev/sda" pullSecret: '<pull_secret>' sshKey: '<ssh_pub_key>'
注記ibmcloud
コマンドラインユーティリティーを使用して、パスワードを取得できます。$ ibmcloud sl hardware detail <id> --output JSON | \ jq '"(.networkManagementIpAddress) (.remoteManagementAccounts[0].password)"'
<id>
をノードの ID に置き換えてください。クラスター設定を保存するディレクトリーを作成します。
$ mkdir ~/clusterconfigs
install-config.yaml
ファイルをディレクトリーにコピーします。$ cp install-config.yaml ~/clusterconfigs
OpenShift Container Platform クラスターをインストールする前に、すべてのベアメタルノードの電源がオフになっていることを確認します。
$ ipmitool -I lanplus -U <user> -P <password> -H <management_server_ip> power off
以前に試行したデプロイメントにより古いブートストラップリソースが残っている場合は、これを削除します。
for i in $(sudo virsh list | tail -n +3 | grep bootstrap | awk {'print $2'}); do sudo virsh destroy $i; sudo virsh undefine $i; sudo virsh vol-delete $i --pool $i; sudo virsh vol-delete $i.ign --pool $i; sudo virsh pool-destroy $i; sudo virsh pool-undefine $i; done