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.14.2. OpenShift Container Platform インストールの環境の設定
14.2.1. IBM Cloud Bare Metal (Classic) インフラストラクチャー上でプロビジョナーノードを準備する
provisioner ノードを準備するには、以下の手順を実行します。
手順
-
ssh
でプロビジョナーノードにログインします。 root 以外のユーザー (
kni
) を作成し、そのユーザーにsudo
権限を付与します。useradd kni
# useradd kni
Copy to Clipboard Copied! passwd kni
# passwd kni
Copy to Clipboard Copied! 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! chmod 0440 /etc/sudoers.d/kni
# chmod 0440 /etc/sudoers.d/kni
Copy to Clipboard Copied! 新規ユーザーの
ssh
キーを作成します。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! プロビジョナーノードで新規ユーザーとしてログインします。
su - kni
# su - kni
Copy to Clipboard Copied! Red Hat Subscription Manager を使用してプロビジョナーノードを登録します。
sudo subscription-manager register --username=<user> --password=<pass> --auto-attach
$ sudo subscription-manager register --username=<user> --password=<pass> --auto-attach
Copy to Clipboard Copied! 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
Copy to Clipboard Copied! 注記Red Hat Subscription Manager についての詳細は、Using and Configuring Red Hat Subscription Manager を参照してください。
以下のパッケージをインストールします。
sudo dnf install -y libvirt qemu-kvm mkisofs python3-devel jq ipmitool
$ sudo dnf install -y libvirt qemu-kvm mkisofs python3-devel jq ipmitool
Copy to Clipboard Copied! ユーザーを変更して、新たに作成したユーザーに
libvirt
グループを追加します。sudo usermod --append --groups libvirt kni
$ sudo usermod --append --groups libvirt kni
Copy to Clipboard Copied! firewalld
を起動します。sudo systemctl start firewalld
$ sudo systemctl start firewalld
Copy to Clipboard Copied! firewalld
を有効にします。sudo systemctl enable firewalld
$ sudo systemctl enable firewalld
Copy to Clipboard Copied! http
サービスを起動します。sudo firewall-cmd --zone=public --add-service=http --permanent
$ sudo firewall-cmd --zone=public --add-service=http --permanent
Copy to Clipboard Copied! sudo firewall-cmd --reload
$ sudo firewall-cmd --reload
Copy to Clipboard Copied! libvirtd
サービスを開始して、これを有効にします。sudo systemctl enable libvirtd --now
$ sudo systemctl enable libvirtd --now
Copy to Clipboard Copied! プロビジョナーノードの ID を設定します。
PRVN_HOST_ID=<ID>
$ PRVN_HOST_ID=<ID>
Copy to Clipboard Copied! 以下の
ibmcloud
コマンドで ID を表示できます。ibmcloud sl hardware list
$ ibmcloud sl hardware list
Copy to Clipboard Copied! パブリックサブネットの ID を設定します。
PUBLICSUBNETID=<ID>
$ PUBLICSUBNETID=<ID>
Copy to Clipboard Copied! 以下の
ibmcloud
コマンドで ID を表示できます。ibmcloud sl subnet list
$ ibmcloud sl subnet list
Copy to Clipboard Copied! プライベートサブネットの ID を設定します。
PRIVSUBNETID=<ID>
$ PRIVSUBNETID=<ID>
Copy to Clipboard Copied! 以下の
ibmcloud
コマンドで ID を表示できます。ibmcloud sl subnet list
$ ibmcloud sl subnet list
Copy to Clipboard Copied! provisioner ノードのパブリック IP アドレスを設定します。
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)
Copy to Clipboard Copied! パブリックネットワークの CIDR を設定します。
PUBLICCIDR=$(ibmcloud sl subnet detail $PUBLICSUBNETID --output JSON | jq .cidr)
$ PUBLICCIDR=$(ibmcloud sl subnet detail $PUBLICSUBNETID --output JSON | jq .cidr)
Copy to Clipboard Copied! パブリックネットワークの IP アドレスおよび CIDR を設定します。
PUB_IP_CIDR=$PRVN_PUB_IP/$PUBLICCIDR
$ PUB_IP_CIDR=$PRVN_PUB_IP/$PUBLICCIDR
Copy to Clipboard Copied! パブリックネットワークのゲートウェイを設定します。
PUB_GATEWAY=$(ibmcloud sl subnet detail $PUBLICSUBNETID --output JSON | jq .gateway -r)
$ PUB_GATEWAY=$(ibmcloud sl subnet detail $PUBLICSUBNETID --output JSON | jq .gateway -r)
Copy to Clipboard Copied! プロビジョナーノードのプライベート IP アドレスを設定します。
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)
Copy to Clipboard Copied! プライベートネットワークの CIDR を設定します。
PRIVCIDR=$(ibmcloud sl subnet detail $PRIVSUBNETID --output JSON | jq .cidr)
$ PRIVCIDR=$(ibmcloud sl subnet detail $PRIVSUBNETID --output JSON | jq .cidr)
Copy to Clipboard Copied! プライベートネットワークの IP アドレスおよび CIDR を設定します。
PRIV_IP_CIDR=$PRVN_PRIV_IP/$PRIVCIDR
$ PRIV_IP_CIDR=$PRVN_PRIV_IP/$PRIVCIDR
Copy to Clipboard Copied! プライベートネットワークのゲートウェイを設定します。
PRIV_GATEWAY=$(ibmcloud sl subnet detail $PRIVSUBNETID --output JSON | jq .gateway -r)
$ PRIV_GATEWAY=$(ibmcloud sl subnet detail $PRIVSUBNETID --output JSON | jq .gateway -r)
Copy to Clipboard Copied! baremetal
およびprovisioning
ネットワークのブリッジを設定します。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 "
Copy to Clipboard Copied! 注記eth1
およびeth2
の場合は、必要に応じて適切なインターフェイス名を置き換えます。必要な場合は、
provisioner
ノードに対して再度 SSH を実行します。ssh kni@provisioner.<cluster-name>.<domain>
# ssh kni@provisioner.<cluster-name>.<domain>
Copy to Clipboard Copied! 接続ブリッジが適切に作成されていることを確認します。
sudo nmcli con show
$ sudo nmcli con show
Copy to Clipboard Copied! 出力例
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
Copy to Clipboard Copied! pull-secret.txt
ファイルを作成します。vim pull-secret.txt
$ vim pull-secret.txt
Copy to Clipboard Copied! Web ブラウザーで、Install on Bare Metal with user-provisioned infrastructure に移動します。ステップ 1 で、Download pull secret をクリックします。
pull-secret.txt
ファイルにコンテンツを貼り付け、そのコンテンツをkni
ユーザーのホームディレクトリーに保存します。
14.2.2. パブリックサブネットの設定
すべての OpenShift Container Platform クラスターノードはパブリックサブネット上になければなりません。IBM Cloud® Bare Metal (Classic) は、サブネット上に DHCP サーバーを提供しません。プロビジョナーノードで個別に設定します。
プロビジョナーノードの準備時に定義された BASH 変数をリセットする必要があります。準備後にプロビジョナーノードを再起動すると、BASH 変数が以前に設定された変数が削除されます。
手順
dnsmasq
をインストールします。sudo dnf install dnsmasq
$ sudo dnf install dnsmasq
Copy to Clipboard Copied! dnsmasq
設定ファイルを開きます。sudo vi /etc/dnsmasq.conf
$ sudo vi /etc/dnsmasq.conf
Copy to Clipboard Copied! 以下の設定を
dnsmasq
設定ファイルに追加します。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
Copy to Clipboard Copied! - 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>
の値を取得するには、以下を実行します。ibmcloud sl subnet detail <publicsubnetid> --output JSON | jq .cidr
$ ibmcloud sl subnet detail <publicsubnetid> --output JSON | jq .cidr
Copy to Clipboard Copied! <publicsubnetid>
をパブリックサブネットの ID に置き換えます。<pub_gateway>
の値を取得するには、以下を実行します。ibmcloud sl subnet detail <publicsubnetid> --output JSON | jq .gateway -r
$ ibmcloud sl subnet detail <publicsubnetid> --output JSON | jq .gateway -r
Copy to Clipboard Copied! <publicsubnetid>
をパブリックサブネットの ID に置き換えます。<prvn_priv_ip>
の値を取得するには、以下を実行します。ibmcloud sl hardware detail <id> --output JSON | \ jq .primaryBackendIpAddress -r
$ ibmcloud sl hardware detail <id> --output JSON | \ jq .primaryBackendIpAddress -r
Copy to Clipboard Copied! <id>
をプロビジョナーノードの ID に置き換えます。<prvn_pub_ip>
の値を取得するには、以下を実行します。ibmcloud sl hardware detail <id> --output JSON | jq .primaryIpAddress -r
$ ibmcloud sl hardware detail <id> --output JSON | jq .primaryIpAddress -r
Copy to Clipboard Copied! <id>
をプロビジョナーノードの ID に置き換えます。クラスターのハードウェアのリストを取得します。
ibmcloud sl hardware list
$ ibmcloud sl hardware list
Copy to Clipboard Copied! 各ノードの MAC アドレスおよび IP アドレスを取得します。
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
Copy to Clipboard Copied! <id>
をノードの ID に置き換えてください。出力例
"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"
Copy to Clipboard Copied! パブリックネットワークの MAC アドレスと IP アドレスを書き留めておきます。プライベートネットワークの MAC アドレスを別々に書留ておきます。これは、後に
install-config.yaml
ファイルで使用します。各ノードにパブリックbaremetal
ネットワークのパブリック MAC アドレスと IP アドレスがすべてあり、プライベートのprovisioning
の MAC アドレスになるまで、この手順を繰り返します。各ノードのパブリック
baremetal
ネットワークの MAC アドレスと IP アドレスペアをdnsmasq.hostsfile
ファイルに追加します。sudo vim /var/lib/dnsmasq/dnsmasq.hostsfile
$ sudo vim /var/lib/dnsmasq/dnsmasq.hostsfile
Copy to Clipboard Copied! 入力の例
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 ...
Copy to Clipboard Copied! <mac>,<ip>
を、対応するノード名のパブリック MAC アドレスとパブリック IP アドレスに置き換えます。dnsmasq
を開始します。sudo systemctl start dnsmasq
$ sudo systemctl start dnsmasq
Copy to Clipboard Copied! dnsmasq
を有効にして、ノードのブート時に起動できるようにします。sudo systemctl enable dnsmasq
$ sudo systemctl enable dnsmasq
Copy to Clipboard Copied! dnsmasq
が実行中であることを確認します。sudo systemctl status dnsmasq
$ sudo systemctl status dnsmasq
Copy to Clipboard Copied! 出力例
● 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
Copy to Clipboard Copied! UDP プロトコルでポート
53
および67
を開きます。sudo firewall-cmd --add-port 53/udp --permanent
$ sudo firewall-cmd --add-port 53/udp --permanent
Copy to Clipboard Copied! sudo firewall-cmd --add-port 67/udp --permanent
$ sudo firewall-cmd --add-port 67/udp --permanent
Copy to Clipboard Copied! masquerade を使用して、外部ゾーンに
provisioning
を追加します。sudo firewall-cmd --change-zone=provisioning --zone=external --permanent
$ sudo firewall-cmd --change-zone=provisioning --zone=external --permanent
Copy to Clipboard Copied! このステップにより、管理サブネットへの IPMI 呼び出しのネットワークアドレス変換が確保されます。
firewalld
設定を再読み込みします。sudo firewall-cmd --reload
$ sudo firewall-cmd --reload
Copy to Clipboard Copied!
14.2.3. OpenShift Container Platform インストーラーの取得
インストーラーの stable-4.x
バージョンを使用して、OpenShift Container Platform の一般公開の安定バージョンをデプロイします。
export VERSION=stable-4.10
$ export VERSION=stable-4.10
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}')
14.2.4. OpenShift Container Platform インストールのデプロイメント
インストーラーの取得後、次のステップとしてこれをデプロイメントします。
手順
環境変数を設定します。
export cmd=openshift-baremetal-install
$ export cmd=openshift-baremetal-install
Copy to Clipboard Copied! export pullsecret_file=~/pull-secret.txt
$ export pullsecret_file=~/pull-secret.txt
Copy to Clipboard Copied! export extract_dir=$(pwd)
$ export extract_dir=$(pwd)
Copy to Clipboard Copied! oc
バイナリーを取得します。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! インストーラーを実行します。
sudo cp oc /usr/local/bin
$ sudo cp oc /usr/local/bin
Copy to Clipboard Copied! oc adm release extract --registry-config "${pullsecret_file}" --command=$cmd --to "${extract_dir}" ${RELEASE_IMAGE}
$ oc adm release extract --registry-config "${pullsecret_file}" --command=$cmd --to "${extract_dir}" ${RELEASE_IMAGE}
Copy to Clipboard Copied! sudo cp openshift-baremetal-install /usr/local/bin
$ sudo cp openshift-baremetal-install /usr/local/bin
Copy to Clipboard Copied!
14.2.5. install-config.yaml ファイルの設定
install-config.yaml
ファイルには、追加の詳細情報が必要です。それらの情報のほとんどは、インストーラーおよび結果として作成されるクラスターが利用可能な IBM Cloud® Bare Metal (Classic) ハードウェアを完全に管理するのに必要な利用可能なハードウェアについての十分な情報として提供されます。ベアメタルへのインストールと IBM Cloud® Bare Metal (Classic) へのインストールの相違点は 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 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>'
Copy to Clipboard Copied! 注記ibmcloud
コマンドラインユーティリティーを使用して、パスワードを取得できます。ibmcloud sl hardware detail <id> --output JSON | \ jq '"(.networkManagementIpAddress) (.remoteManagementAccounts[0].password)"'
$ ibmcloud sl hardware detail <id> --output JSON | \ jq '"(.networkManagementIpAddress) (.remoteManagementAccounts[0].password)"'
Copy to Clipboard Copied! <id>
をノードの ID に置き換えてください。クラスター設定を保存するディレクトリーを作成します。
mkdir ~/clusterconfigs
$ mkdir ~/clusterconfigs
Copy to Clipboard Copied! install-config.yaml
ファイルをディレクトリーにコピーします。cp install-config.yaml ~/clusterconfig
$ cp install-config.yaml ~/clusterconfig
Copy to Clipboard Copied! OpenShift Container Platform クラスターをインストールする前に、すべてのベアメタルノードの電源がオフになっていることを確認します。
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! 以前に試行したデプロイメントにより古いブートストラップリソースが残っている場合は、これを削除します。
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
Copy to Clipboard Copied!
14.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 クラスターの一部として含まれるコントロールプレーン (マスター) ノードの数を設定します。 | |
|
ベアメタルネットワークに接続されたノード上のネットワークインターフェイス名。OpenShift Container Platform 4.9 以降のリリースのために、NIC の名前を識別するために | |
| プラットフォーム設定なしでマシンプールに使用されるデフォルト設定。 | |
| (オプション) Kubernetes API 通信の仮想 IP アドレス。
この設定は、Machine Network からの予約済み IP として | |
|
|
|
| (オプション) Ingress トラフィックの仮想 IP アドレス。
この設定は、Machine Network からの予約済み IP として |
パラメーター | デフォルト | 説明 |
---|---|---|
|
| プロビジョニングネットワークでノードの IP 範囲を定義します。 |
|
| プロビジョニングに使用するネットワークの CIDR。このオプションは、プロビジョニングネットワークでデフォルトのアドレス範囲を使用しない場合に必要です。 |
|
|
プロビジョニングサービスが実行されるクラスター内の IP アドレス。デフォルトは、プロビジョニングサブネットの 3 番目の IP アドレスに設定されます。例: |
|
|
インストーラーがコントロールプレーン (マスター) ノードをデプロイしている間にプロビジョニングサービスが実行されるブートストラップ仮想マシンの IP アドレス。デフォルトは、プロビジョニングサブネットの 2 番目の IP アドレスに設定されます。例: |
|
| ベアメタルネットワークに接続されたハイパーバイザーのベアメタルブリッジの名前。 |
|
|
プロビジョニングネットワークに接続されている |
| プラットフォーム設定なしでマシンプールに使用されるデフォルト設定。 | |
|
ブートストラップノードのデフォルトのオペレーティングシステムイメージを上書きするための URL。URL にはイメージの SHA-256 ハッシュが含まれている必要があります。例: | |
|
| |
| このパラメーターを、環境内で使用する適切な HTTP プロキシーに設定します。 | |
| このパラメーターを、環境内で使用する適切な HTTPS プロキシーに設定します。 | |
| このパラメーターを、環境内のプロキシーの使用に対する例外のリストに設定します。 |
ホスト
hosts
パラメーターは、クラスターのビルドに使用される個別のベアメタルアセットのリストです。
名前 | デフォルト | 説明 |
---|---|---|
|
詳細情報に関連付ける | |
|
ベアメタルノードのロール。 | |
| ベースボード管理コントローラーの接続詳細。詳細は、BMC アドレス指定のセクションを参照してください。 | |
|
ホストがプロビジョニングネットワークに使用する NIC の MAC アドレス。Ironic は、 注記 プロビジョニングネットワークを無効にした場合は、ホストから有効な MAC アドレスを提供する必要があります。 | |
| このオプションのパラメーターを設定して、ホストのネットワークインターフェイスを設定します。詳細については、オプション: ホストネットワークインターフェイスの設定を参照してください。 |
14.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"
14.2.8. OpenShift Container Platform マニフェストの作成
OpenShift Container Platform マニフェストを作成します。
./openshift-baremetal-install --dir ~/clusterconfigs create manifests
$ ./openshift-baremetal-install --dir ~/clusterconfigs create manifests
Copy to Clipboard Copied! 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
Copy to Clipboard Copied!
14.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
14.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