This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.11.2. OpenShift Container Platform インストールの環境の設定
11.2.1. IBM Cloud への OpenShift Container Platform インストールのプロビジョナーノードの準備
provisioner ノードを準備するには、以下の手順を実行します。
手順
-
ssh
でプロビジョナーノードにログインします。 root 以外のユーザー (
kni
) を作成し、そのユーザーにsudo
権限を付与します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow useradd kni
# useradd kni
Copy to Clipboard Copied! Toggle word wrap Toggle overflow passwd kni
# passwd kni
Copy to Clipboard Copied! Toggle word wrap Toggle overflow echo "kni ALL=(root) NOPASSWD:ALL" | tee -a /etc/sudoers.d/kni
# echo "kni ALL=(root) NOPASSWD:ALL" | tee -a /etc/sudoers.d/kni
Copy to Clipboard Copied! Toggle word wrap Toggle overflow chmod 0440 /etc/sudoers.d/kni
# chmod 0440 /etc/sudoers.d/kni
新規ユーザーの
ssh
キーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow su - kni -c "ssh-keygen -f /home/kni/.ssh/id_rsa -N ''"
# su - kni -c "ssh-keygen -f /home/kni/.ssh/id_rsa -N ''"
プロビジョナーノードで新規ユーザーとしてログインします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow su - kni
# su - kni
Red Hat Subscription Manager を使用してプロビジョナーノードを登録します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo subscription-manager register --username=<user> --password=<pass> --auto-attach
$ sudo subscription-manager register --username=<user> --password=<pass> --auto-attach
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo subscription-manager repos --enable=rhel-8-for-x86_64-appstream-rpms \ --enable=rhel-8-for-x86_64-baseos-rpms
$ sudo subscription-manager repos --enable=rhel-8-for-x86_64-appstream-rpms \ --enable=rhel-8-for-x86_64-baseos-rpms
注記Red Hat Subscription Manager についての詳細は、Using and Configuring Red Hat Subscription Manager を参照してください。
以下のパッケージをインストールします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo dnf install -y libvirt qemu-kvm mkisofs python3-devel jq ipmitool
$ sudo dnf install -y libvirt qemu-kvm mkisofs python3-devel jq ipmitool
ユーザーを変更して、新たに作成したユーザーに
libvirt
グループを追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo usermod --append --groups libvirt kni
$ sudo usermod --append --groups libvirt kni
firewalld
を起動します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo systemctl start firewalld
$ sudo systemctl start firewalld
firewalld
を有効にします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo systemctl enable firewalld
$ sudo systemctl enable firewalld
http
サービスを起動します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo firewall-cmd --zone=public --add-service=http --permanent
$ sudo firewall-cmd --zone=public --add-service=http --permanent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo firewall-cmd --reload
$ sudo firewall-cmd --reload
libvirtd
サービスを開始して、これを有効にします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo systemctl enable libvirtd --now
$ sudo systemctl enable libvirtd --now
プロビジョナーノードの ID を設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PRVN_HOST_ID=<ID>
$ PRVN_HOST_ID=<ID>
以下の
ibmcloud
コマンドで ID を表示できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ibmcloud sl hardware list
$ ibmcloud sl hardware list
パブリックサブネットの ID を設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PUBLICSUBNETID=<ID>
$ PUBLICSUBNETID=<ID>
以下の
ibmcloud
コマンドで ID を表示できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ibmcloud sl subnet list
$ ibmcloud sl subnet list
プライベートサブネットの ID を設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PRIVSUBNETID=<ID>
$ PRIVSUBNETID=<ID>
以下の
ibmcloud
コマンドで ID を表示できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ibmcloud sl subnet list
$ ibmcloud sl subnet list
provisioner ノードのパブリック IP アドレスを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PRVN_PUB_IP=$(ibmcloud sl hardware detail $PRVN_HOST_ID --output JSON | jq .primaryIpAddress -r)
$ PRVN_PUB_IP=$(ibmcloud sl hardware detail $PRVN_HOST_ID --output JSON | jq .primaryIpAddress -r)
パブリックネットワークの CIDR を設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PUBLICCIDR=$(ibmcloud sl subnet detail $PUBLICSUBNETID --output JSON | jq .cidr)
$ PUBLICCIDR=$(ibmcloud sl subnet detail $PUBLICSUBNETID --output JSON | jq .cidr)
パブリックネットワークの IP アドレスおよび CIDR を設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PUB_IP_CIDR=$PRVN_PUB_IP/$PUBLICCIDR
$ PUB_IP_CIDR=$PRVN_PUB_IP/$PUBLICCIDR
パブリックネットワークのゲートウェイを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PUB_GATEWAY=$(ibmcloud sl subnet detail $PUBLICSUBNETID --output JSON | jq .gateway -r)
$ PUB_GATEWAY=$(ibmcloud sl subnet detail $PUBLICSUBNETID --output JSON | jq .gateway -r)
プロビジョナーノードのプライベート IP アドレスを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PRVN_PRIV_IP=$(ibmcloud sl hardware detail $PRVN_HOST_ID --output JSON | \ jq .primaryBackendIpAddress -r)
$ PRVN_PRIV_IP=$(ibmcloud sl hardware detail $PRVN_HOST_ID --output JSON | \ jq .primaryBackendIpAddress -r)
プライベートネットワークの CIDR を設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PRIVCIDR=$(ibmcloud sl subnet detail $PRIVSUBNETID --output JSON | jq .cidr)
$ PRIVCIDR=$(ibmcloud sl subnet detail $PRIVSUBNETID --output JSON | jq .cidr)
プライベートネットワークの IP アドレスおよび CIDR を設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PRIV_IP_CIDR=$PRVN_PRIV_IP/$PRIVCIDR
$ PRIV_IP_CIDR=$PRVN_PRIV_IP/$PRIVCIDR
プライベートネットワークのゲートウェイを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PRIV_GATEWAY=$(ibmcloud sl subnet detail $PRIVSUBNETID --output JSON | jq .gateway -r)
$ PRIV_GATEWAY=$(ibmcloud sl subnet detail $PRIVSUBNETID --output JSON | jq .gateway -r)
baremetal
およびprovisioning
ネットワークのブリッジを設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo nohup bash -c "
$ sudo nohup bash -c " nmcli --get-values UUID con show | xargs -n 1 nmcli con delete nmcli connection add ifname provisioning type bridge con-name provisioning nmcli con add type bridge-slave ifname eth1 master provisioning nmcli connection add ifname baremetal type bridge con-name baremetal nmcli con add type bridge-slave ifname eth2 master baremetal nmcli connection modify baremetal ipv4.addresses $PUB_IP_CIDR ipv4.method manual ipv4.gateway $PUB_GATEWAY nmcli connection modify provisioning ipv4.addresses 172.22.0.1/24,$PRIV_IP_CIDR ipv4.method manual nmcli connection modify provisioning +ipv4.routes \"10.0.0.0/8 $PRIV_GATEWAY\" nmcli con down baremetal nmcli con up baremetal nmcli con down provisioning nmcli con up provisioning init 6 "
注記eth1
およびeth2
の場合は、必要に応じて適切なインターフェイス名を置き換えます。必要な場合は、
provisioner
ノードに対して再度 SSH を実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ssh kni@provisioner.<cluster-name>.<domain>
# ssh kni@provisioner.<cluster-name>.<domain>
接続ブリッジが適切に作成されていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo nmcli con show
$ sudo nmcli con show
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME UUID TYPE DEVICE baremetal 4d5133a5-8351-4bb9-bfd4-3af264801530 bridge baremetal provisioning 43942805-017f-4d7d-a2c2-7cb3324482ed bridge provisioning virbr0 d9bca40f-eee1-410b-8879-a2d4bb0465e7 bridge virbr0 bridge-slave-eth1 76a8ed50-c7e5-4999-b4f6-6d9014dd0812 ethernet eth1 bridge-slave-eth2 f31c3353-54b7-48de-893a-02d2b34c4736 ethernet eth2
NAME UUID TYPE DEVICE baremetal 4d5133a5-8351-4bb9-bfd4-3af264801530 bridge baremetal provisioning 43942805-017f-4d7d-a2c2-7cb3324482ed bridge provisioning virbr0 d9bca40f-eee1-410b-8879-a2d4bb0465e7 bridge virbr0 bridge-slave-eth1 76a8ed50-c7e5-4999-b4f6-6d9014dd0812 ethernet eth1 bridge-slave-eth2 f31c3353-54b7-48de-893a-02d2b34c4736 ethernet eth2
pull-secret.txt
ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow vim pull-secret.txt
$ vim pull-secret.txt
Web ブラウザーで、Install on Bare Metal with user-provisioned infrastructure に移動します。ステップ 1 で、Download pull secret をクリックします。
pull-secret.txt
ファイルにコンテンツを貼り付け、そのコンテンツをkni
ユーザーのホームディレクトリーに保存します。
11.2.2. パブリックサブネットの設定
すべての OpenShift Container Platform クラスターノードはパブリックサブネット上になければなりません。IBM Cloud® は、サブネット上に DHCP サーバーを提供しません。プロビジョナーノードで個別に設定します。
プロビジョナーノードの準備時に定義された BASH 変数をリセットする必要があります。準備後にプロビジョナーノードを再起動すると、BASH 変数が以前に設定された変数が削除されます。
手順
dnsmasq
をインストールします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo dnf install dnsmasq
$ sudo dnf install dnsmasq
dnsmasq
設定ファイルを開きます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo vi /etc/dnsmasq.conf
$ sudo vi /etc/dnsmasq.conf
以下の設定を
dnsmasq
設定ファイルに追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow interface=baremetal except-interface=lo bind-dynamic log-dhcp dhcp-range=<ip_addr>,<ip_addr>,<pub_cidr> dhcp-option=baremetal,121,0.0.0.0/0,<pub_gateway>,<prvn_priv_ip>,<prvn_pub_ip> dhcp-hostsfile=/var/lib/dnsmasq/dnsmasq.hostsfile
interface=baremetal except-interface=lo bind-dynamic log-dhcp dhcp-range=<ip_addr>,<ip_addr>,<pub_cidr>
1 dhcp-option=baremetal,121,0.0.0.0/0,<pub_gateway>,<prvn_priv_ip>,<prvn_pub_ip>
2 dhcp-hostsfile=/var/lib/dnsmasq/dnsmasq.hostsfile
- 1
- DHCP 範囲を設定します。
<ip_addr>
の両方のインスタンスをパブリックサブネットから 1 つの未使用の IP アドレスに置き換え、baremetal
ネットワークのdhcp-range
が開始し、IP アドレスで終了するようにします。<pub_cidr>
をパブリックサブネットの CIDR に置き換えます。 - 2
- DHCP オプションを設定します。
<pub_gateway>
を、baremetal
ネットワークのゲートウェイの IP アドレスに置き換えます。<prvn_priv_ip>
をprovisioning
ネットワーク上のプロビジョナーノードのプライベート IP アドレスの IP アドレスに置き換えます。<prvn_pub_ip>
を、baremetal
ネットワーク上のプロビジョナーノードのパブリック IP アドレスの IP アドレスに置き換えます。
<pub_cidr>
の値を取得するには、以下を実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ibmcloud sl subnet detail <publicsubnetid> --output JSON | jq .cidr
$ ibmcloud sl subnet detail <publicsubnetid> --output JSON | jq .cidr
<publicsubnetid>
をパブリックサブネットの ID に置き換えます。<pub_gateway>
の値を取得するには、以下を実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ibmcloud sl subnet detail <publicsubnetid> --output JSON | jq .gateway -r
$ ibmcloud sl subnet detail <publicsubnetid> --output JSON | jq .gateway -r
<publicsubnetid>
をパブリックサブネットの ID に置き換えます。<prvn_priv_ip>
の値を取得するには、以下を実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ibmcloud sl hardware detail <id> --output JSON | \ jq .primaryBackendIpAddress -r
$ ibmcloud sl hardware detail <id> --output JSON | \ jq .primaryBackendIpAddress -r
<id>
をプロビジョナーノードの ID に置き換えます。<prvn_pub_ip>
の値を取得するには、以下を実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ibmcloud sl hardware detail <id> --output JSON | jq .primaryIpAddress -r
$ ibmcloud sl hardware detail <id> --output JSON | jq .primaryIpAddress -r
<id>
をプロビジョナーノードの ID に置き換えます。クラスターのハードウェアの一覧を取得します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ibmcloud sl hardware list
$ ibmcloud sl hardware list
各ノードの MAC アドレスおよび IP アドレスを取得します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ibmcloud sl hardware detail <id> --output JSON | \ jq '.networkComponents[] | \ "\(.primaryIpAddress) \(.macAddress)"' | grep -v null
$ ibmcloud sl hardware detail <id> --output JSON | \ jq '.networkComponents[] | \ "\(.primaryIpAddress) \(.macAddress)"' | grep -v null
<id>
をノードの ID に置き換えてください。出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow "10.196.130.144 00:e0:ed:6a:ca:b4" "141.125.65.215 00:e0:ed:6a:ca:b5"
"10.196.130.144 00:e0:ed:6a:ca:b4" "141.125.65.215 00:e0:ed:6a:ca:b5"
パブリックネットワークの MAC アドレスと IP アドレスを書き留めておきます。プライベートネットワークの MAC アドレスを別々に書留ておきます。これは、後に
install-config.yaml
ファイルで使用します。各ノードにパブリックbaremetal
ネットワークのパブリック MAC アドレスと IP アドレスがすべてあり、プライベートのprovisioning
の MAC アドレスになるまで、この手順を繰り返します。各ノードのパブリック
baremetal
ネットワークの MAC アドレスと IP アドレスペアをdnsmasq.hostsfile
ファイルに追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo vim /var/lib/dnsmasq/dnsmasq.hostsfile
$ sudo vim /var/lib/dnsmasq/dnsmasq.hostsfile
入力の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 00:e0:ed:6a:ca:b5,141.125.65.215,master-0 <mac>,<ip>,master-1 <mac>,<ip>,master-2 <mac>,<ip>,worker-0 <mac>,<ip>,worker-1 ...
00:e0:ed:6a:ca:b5,141.125.65.215,master-0 <mac>,<ip>,master-1 <mac>,<ip>,master-2 <mac>,<ip>,worker-0 <mac>,<ip>,worker-1 ...
<mac>,<ip>
を、対応するノード名のパブリック MAC アドレスとパブリック IP アドレスに置き換えます。dnsmasq
を開始します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo systemctl start dnsmasq
$ sudo systemctl start dnsmasq
dnsmasq
を有効にして、ノードのブート時に起動できるようにします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo systemctl enable dnsmasq
$ sudo systemctl enable dnsmasq
dnsmasq
が実行中であることを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo systemctl status dnsmasq
$ sudo systemctl status dnsmasq
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ● dnsmasq.service - DNS caching server. Loaded: loaded (/usr/lib/systemd/system/dnsmasq.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2021-10-05 05:04:14 CDT; 49s ago Main PID: 3101 (dnsmasq) Tasks: 1 (limit: 204038) Memory: 732.0K CGroup: /system.slice/dnsmasq.service └─3101 /usr/sbin/dnsmasq -k
● dnsmasq.service - DNS caching server. Loaded: loaded (/usr/lib/systemd/system/dnsmasq.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2021-10-05 05:04:14 CDT; 49s ago Main PID: 3101 (dnsmasq) Tasks: 1 (limit: 204038) Memory: 732.0K CGroup: /system.slice/dnsmasq.service └─3101 /usr/sbin/dnsmasq -k
UDP プロトコルでポート
53
および67
を開きます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo firewall-cmd --add-port 53/udp --permanent
$ sudo firewall-cmd --add-port 53/udp --permanent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo firewall-cmd --add-port 67/udp --permanent
$ sudo firewall-cmd --add-port 67/udp --permanent
masquerade を使用して、外部ゾーンに
provisioning
を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo firewall-cmd --change-zone=provisioning --zone=external --permanent
$ sudo firewall-cmd --change-zone=provisioning --zone=external --permanent
このステップにより、管理サブネットへの IPMI 呼び出しのネットワークアドレス変換が確保されます。
firewalld
設定を再読み込みします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo firewall-cmd --reload
$ sudo firewall-cmd --reload
11.2.3. OpenShift Container Platform インストーラーの取得
インストーラーの stable-4.x
バージョンを使用して、OpenShift Container Platform の一般公開の安定バージョンをデプロイします。
export VERSION=stable-4.9
$ export VERSION=stable-4.9
export RELEASE_IMAGE=$(curl -s https://mirror.openshift.com/pub/openshift-v4/clients/ocp/$VERSION/release.txt | grep 'Pull From: quay.io' | awk -F ' ' '{print $3}')
11.2.4. OpenShift Container Platform インストールの展開
インストーラーの取得後、次のステップとしてこれを展開します。
手順
環境変数を設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow export cmd=openshift-baremetal-install export pullsecret_file=~/pull-secret.txt export extract_dir=$(pwd)
$ export cmd=openshift-baremetal-install $ export pullsecret_file=~/pull-secret.txt $ export extract_dir=$(pwd)
oc
バイナリーを取得します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow curl -s https://mirror.openshift.com/pub/openshift-v4/clients/ocp/$VERSION/openshift-client-linux.tar.gz | tar zxvf - oc
$ curl -s https://mirror.openshift.com/pub/openshift-v4/clients/ocp/$VERSION/openshift-client-linux.tar.gz | tar zxvf - oc
インストーラーを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sudo cp oc /usr/local/bin oc adm release extract --registry-config "${pullsecret_file}" --command=$cmd --to "${extract_dir}" ${RELEASE_IMAGE} sudo cp openshift-baremetal-install /usr/local/bin
$ sudo cp oc /usr/local/bin $ oc adm release extract --registry-config "${pullsecret_file}" --command=$cmd --to "${extract_dir}" ${RELEASE_IMAGE} $ sudo cp openshift-baremetal-install /usr/local/bin
11.2.5. install-config.yaml ファイルの設定
install-config.yaml
ファイルには、追加の詳細情報が必要です。それらの情報のほとんどは、インストーラーおよび結果として作成されるクラスターが利用可能な IBM Cloud® ハードウェアを完全に管理するのに必要な利用可能なハードウェアについての十分な情報として提供されます。ベアメタルへのインストールと IBM Cloud へのインストールに関する相違点は install-config.yaml
ファイルの BMC セクションで IPMI の特権レベルを明示的に設定する必要があることです。
手順
install-config.yaml
を設定します。pullSecret
およびsshKey
など、環境に合わせて適切な変数を変更します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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 username: root password: <password> bootMACAddress: 00:e0:ed:6a:ca:b4 rootDeviceHints: deviceName: "/dev/sda" - name: openshift-worker-0 role: worker bmc: address: ipmi://<out-of-band-ip>?privilegelevel=OPERATOR username: <user> password: <password> bootMACAddress: <NIC1_mac_address> rootDeviceHints: deviceName: "/dev/sda" pullSecret: '<pull_secret>' sshKey: '<ssh_pub_key>'
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
コマンドラインユーティリティーを使用して、パスワードを取得できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ibmcloud sl hardware detail <id> --output JSON | \ jq '"(.networkManagementIpAddress) (.remoteManagementAccounts[0].password)"'
$ ibmcloud sl hardware detail <id> --output JSON | \ jq '"(.networkManagementIpAddress) (.remoteManagementAccounts[0].password)"'
<id>
をノードの ID に置き換えてください。クラスター設定を保存するディレクトリーを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mkdir ~/clusterconfigs
$ mkdir ~/clusterconfigs
install-config.yaml
ファイルをディレクトリーにコピーします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow cp install-config.yaml ~/clusterconfig
$ cp install-config.yaml ~/clusterconfig
OpenShift Container Platform クラスターをインストールする前に、すべてのベアメタルノードの電源がオフになっていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ipmitool -I lanplus -U <user> -P <password> -H <management_server_ip> power off
$ ipmitool -I lanplus -U <user> -P <password> -H <management_server_ip> power off
以前に試行したデプロイメントにより古いブートストラップリソースが残っている場合は、これを削除します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
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
11.2.6. 追加の install-config
パラメーター
install-config.yaml
ファイルに必要なパラメーター hosts
パラメーターおよび bmc
パラメーターについては、以下の表を参照してください。
パラメーター | デフォルト | 説明 |
---|---|---|
|
クラスターのドメイン名。例: | |
|
|
ノードのブートモード。オプションは、 |
|
| |
|
| |
metadata: name:
|
OpenShift Container Platform クラスターに指定される名前。例: | |
networking: machineNetwork: - cidr:
|
外部ネットワークの公開 CIDR (Classless Inter-Domain Routing)。例: | |
compute: - name: worker
| OpenShift Container Platform クラスターでは、ノードがゼロであってもワーカー (またはコンピュート) ノードの名前を指定する必要があります。 | |
compute: replicas: 2
| レプリカは、OpenShift Container Platform クラスターのワーカー (またはコンピュート) ノードの数を設定します。 | |
controlPlane: name: master
| OpenShift Container Platform クラスターには、コントロールプレーン (マスター) ノードの名前が必要です。 | |
controlPlane: replicas: 3
| レプリカは、OpenShift Container Platform クラスターの一部として含まれるコントロールプレーン (マスター) ノードの数を設定します。 | |
|
| |
| プラットフォーム設定なしでマシンプールに使用されるデフォルト設定。 | |
| (オプション) Kubernetes API 通信の仮想 IP アドレス。
この設定は、Machine Network からの予約済み IP として | |
|
|
|
| (オプション) Ingress トラフィックの仮想 IP アドレス。
この設定は、Machine Network からの予約済み IP として |
パラメーター | デフォルト | 説明 |
---|---|---|
|
|
|
|
|
プロビジョニングに使用するネットワークの CIDR。このオプションは、 |
|
|
プロビジョニングサービスが実行されるクラスター内の IP アドレス。デフォルトは、 |
|
|
インストーラーがコントロールプレーン (マスター) ノードをデプロイしている間にプロビジョニングサービスが実行されるブートストラップ仮想マシンの IP アドレス。デフォルトは、 |
|
|
|
|
|
|
| プラットフォーム設定なしでマシンプールに使用されるデフォルト設定。 | |
|
ブートストラップノードのデフォルトのオペレーティングシステムイメージを上書きするための URL。URL にはイメージの SHA-256 ハッシュが含まれている必要があります。例: | |
|
クラスターノードのデフォルトオペレーティングシステムを上書きするための URL。URL には、イメージの SHA-256 ハッシュを含める必要があります。例: | |
|
| |
| このパラメーターを、環境内で使用する適切な HTTP プロキシーに設定します。 | |
| このパラメーターを、環境内で使用する適切な HTTPS プロキシーに設定します。 | |
| このパラメーターを、環境内のプロキシーの使用に対する例外の一覧に設定します。 |
ホスト
hosts
パラメーターは、クラスターのビルドに使用される個別のベアメタルアセットの一覧です。
名前 | デフォルト | 説明 |
---|---|---|
|
詳細情報に関連付ける | |
|
ベアメタルノードのロール。 | |
| ベースボード管理コントローラーの接続詳細。詳細は、BMC アドレス指定のセクションを参照してください。 | |
|
ホストが 注記
|
11.2.7. ルートデバイスのヒント
rootDeviceHints
パラメーターは、インストーラーが Red Hat Enterprise Linux CoreOS (RHCOS) イメージを特定のデバイスにプロビジョニングできるようにします。インストーラーは、検出順にデバイスを検査し、検出された値をヒントの値と比較します。インストーラーは、ヒント値に一致する最初に検出されたデバイスを使用します。この設定は複数のヒントを組み合わせることができますが、デバイスは、インストーラーがこれを選択できるようにすべてのヒントに一致する必要があります。
サブフィールド | 説明 |
---|---|
|
|
|
|
| ベンダー固有のデバイス識別子を含む文字列。ヒントは、実際の値のサブ文字列になります。 |
| デバイスのベンダーまたは製造元の名前が含まれる文字列。ヒントは、実際の値のサブ文字列になります。 |
| デバイスのシリアル番号を含む文字列。ヒントは、実際の値と完全に一致する必要があります。 |
| デバイスの最小サイズ (ギガバイト単位) を表す整数。 |
| 一意のストレージ ID を含む文字列。ヒントは、実際の値と完全に一致する必要があります。 |
| ベンダー拡張が追加された一意のストレージ ID を含む文字列。ヒントは、実際の値と完全に一致する必要があります。 |
| 一意のベンダーストレージ ID を含む文字列。ヒントは、実際の値と完全に一致する必要があります。 |
| デバイスがローテーションするディスクである (true) か、そうでないか (false) を示すブール値。 |
使用例
- name: master-0 role: master bmc: address: ipmi://10.10.0.3:6203 username: admin password: redhat bootMACAddress: de:ad:be:ef:00:40 rootDeviceHints: deviceName: "/dev/sda"
- name: master-0
role: master
bmc:
address: ipmi://10.10.0.3:6203
username: admin
password: redhat
bootMACAddress: de:ad:be:ef:00:40
rootDeviceHints:
deviceName: "/dev/sda"
11.2.8. OpenShift Container Platform マニフェストの作成
OpenShift Container Platform マニフェストを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ./openshift-baremetal-install --dir ~/clusterconfigs create manifests
$ ./openshift-baremetal-install --dir ~/clusterconfigs create manifests
Copy to Clipboard Copied! Toggle word wrap Toggle overflow INFO Consuming Install Config from target directory WARNING Making control-plane schedulable by setting MastersSchedulable to true for Scheduler cluster settings WARNING Discarding the OpenShift Manifest that was provided in the target directory because its dependencies are dirty and it needs to be regenerated
INFO Consuming Install Config from target directory WARNING Making control-plane schedulable by setting MastersSchedulable to true for Scheduler cluster settings WARNING Discarding the OpenShift Manifest that was provided in the target directory because its dependencies are dirty and it needs to be regenerated
11.2.9. OpenShift Container Platform インストーラーを使用したクラスターのデプロイ
OpenShift Container Platform インストーラーを実行します。
./openshift-baremetal-install --dir ~/clusterconfigs --log-level debug create cluster
$ ./openshift-baremetal-install --dir ~/clusterconfigs --log-level debug create cluster
11.2.10. インストール後
デプロイメントプロセスで、tail
コマンドを install ディレクトリーフォルダーの .openshift_install.log
ログファイルに対して実行して、インストールの全体のステータスを確認できます。
tail -f /path/to/install-dir/.openshift_install.log
$ tail -f /path/to/install-dir/.openshift_install.log