2.13. RHCOS のインストールおよび OpenShift Container Platform ブートストラッププロセスの開始
OpenShift Container Platform を独自にプロビジョニングする IBM Z インフラストラクチャーにインストールするには、Red Hat Enterprise Linux CoreOS (RHCOS) を z/VM ゲスト仮想マシンにインストールする必要があります。RHCOS のインストール時に、インストールするマシンのタイプについて OpenShift Container Platform インストールプログラムによって生成された Ignition 設定ファイルを指定する必要があります。適切なネットワーク、DNS、および負荷分散インフラストラクチャーが設定されている場合、OpenShift Container Platform ブートストラッププロセスは RHCOS z/VM ゲスト仮想マシンの再起動後に自動的に開始されます。
マシンを作成するには、以下の手順を実行します。
前提条件
- 作成するマシンがアクセスできるプロビジョニングマシンで稼働している HTTP または HTTPS サーバー。
手順
- プロビジョニングマシンで Linux にログインします。
RHCOS イメージミラー から Red Hat Enterprise Linux CoreOS (RHCOS) カーネル、initramfs および rootfs ファイルを取得します。
重要RHCOS イメージは OpenShift Container Platform の各リリースごとに変更されない可能性があります。インストールする OpenShift Container Platform バージョンと等しいか、それ以下のバージョンの内で最も新しいバージョンのイメージをダウンロードする必要があります。この手順で説明されている適切な kernel、initramfs、および rootfs アーティファクトのみを使用します。
ファイル名には、OpenShift Container Platform のバージョン番号が含まれます。以下の例のようになります。
-
kernel:
rhcos-<version>-live-kernel-<architecture>
-
initramfs:
rhcos-<version>-live-initramfs.<architecture>.img
rootfs:
rhcos-<version>-live-rootfs.<architecture>.img
注記rootfs イメージは FCP および DASD の場合と同じです。
-
kernel:
パラメーターファイルを作成します。以下のパラメーターは特定の仮想マシンに固有のものです。
ip=
には、以下の 7 つのエントリーを指定します。- マシンの IP アドレス。
- 空の文字列。
- ゲートウェイ。
- ネットマスク。
-
hostname.domainname
形式のマシンホストおよびドメイン名。この値を省略して、RHCOS に決定させるようにします。 - ネットワークインターフェイス名。この値を省略して、RHCOS に決定させるようにします。
-
静的 IP アドレスを使用する場合、
none
を指定します。
-
coreos.inst.ignition_url=
の場合、マシンロールの Ignition ファイルを指定します。bootstrap.ign
、master.ign
、またはworker.ign
を使用します。HTTP プロトコルおよび HTTPS プロトコルのみがサポートされます。 -
coreos.live.rootfs_url=
の場合、起動しているカーネルおよび initramfs の一致する rootfs アーティファクトを指定します。HTTP プロトコルおよび HTTPS プロトコルのみがサポートされます。 DASD タイプのディスクへのインストールには、以下のタスクを実行します。
-
coreos.inst.install_dev=
には、/dev/dasda
を指定します。 -
rd.dasd=
を使用して、RHCOS がインストールされる DASD を指定します。 その他のパラメーターはすべて変更しません。
ブートストラップマシンのパラメーターファイルのサンプル
bootstrap-0.parm
:rd.neednet=1 \ console=ttysclp0 \ coreos.inst.install_dev=/dev/dasda \ coreos.live.rootfs_url=http://cl1.provide.example.com:8080/assets/rhcos-live-rootfs.s390x.img \ coreos.inst.ignition_url=http://cl1.provide.example.com:8080/ignition/bootstrap.ign \ ip=172.18.78.2::172.18.78.1:255.255.255.0:::none nameserver=172.18.78.1 \ rd.znet=qeth,0.0.bdf0,0.0.bdf1,0.0.bdf2,layer2=1,portno=0 \ zfcp.allow_lun_scan=0 \ rd.dasd=0.0.3490
パラメーターファイルのすべてのオプションを 1 行で記述し、改行文字がないことを確認します。
-
FCP タイプのディスクへのインストールには、以下のタスクを実行します。
rd.zfcp=<adapter>,<wwpn>,<lun>
を使用して RHCOS がインストールされる FCP ディスクを指定します。マルチパスの場合、それぞれの追加のステップでこのステップを繰り返します。注記複数のパスを使用してインストールする場合は、問題が発生する可能性があるため、後でではなくインストールの直後にマルチパスを有効にする必要があります。
インストールデバイスを
coreos.inst.install_dev=/dev/disk/by-id/scsi-<serial_number>
として設定します。注記追加の LUN が NPIV で設定される場合は、FCP に
zfcp.allow_lun_scan=0
が必要です。CSI ドライバーを使用するためにzfcp.allow_lun_scan=1
を有効にする必要がある場合などには、各ノードが別のノードのブートパーティションにアクセスできないように NPIV を設定する必要があります。その他のパラメーターはすべて変更しません。
重要マルチパスを完全に有効にするには、インストール後の追加の手順が必要です。詳細は、インストール後のマシン設定タスク の RHCOS でのカーネル引数を使用したマルチパスの有効化を参照してください。
以下は、マルチパスが設定されたワーカーノードのパラメーターファイルのサンプル
worker-1.parm
です。rd.neednet=1 \ console=ttysclp0 \ coreos.inst.install_dev=/dev/disk/by-id/scsi-<serial_number> \ coreos.live.rootfs_url=http://cl1.provide.example.com:8080/assets/rhcos-live-rootfs.s390x.img \ coreos.inst.ignition_url=http://cl1.provide.example.com:8080/ignition/worker.ign \ ip=172.18.78.2::172.18.78.1:255.255.255.0:::none nameserver=172.18.78.1 \ rd.znet=qeth,0.0.bdf0,0.0.bdf1,0.0.bdf2,layer2=1,portno=0 \ zfcp.allow_lun_scan=0 \ rd.zfcp=0.0.1987,0x50050763070bc5e3,0x4008400B00000000 \ rd.zfcp=0.0.19C7,0x50050763070bc5e3,0x4008400B00000000 \ rd.zfcp=0.0.1987,0x50050763071bc5e3,0x4008400B00000000 \ rd.zfcp=0.0.19C7,0x50050763071bc5e3,0x4008400B00000000
パラメーターファイルのすべてのオプションを 1 行で記述し、改行文字がないことを確認します。
- FTP などを使用し、initramfs、kernel、パラメーターファイル、および RHCOS イメージを z/VM に転送します。FTP でファイルを転送し、仮想リーダーから起動する方法については、Z/VM 環境へのインストール を参照してください。
ブートストラップノードになる z/VM ゲスト仮想マシンの仮想リーダーに対してファイルの punch を実行します。
IBM ドキュメントの PUNCH を参照してください。
ヒントCP PUNCH コマンドを使用するか、Linux を使用している場合は、vmur コマンドを使用して 2 つの z/VM ゲスト仮想マシン間でファイルを転送できます。
- ブートストラップマシンで CMS にログインします。
リーダーからブートストラップマシンに対して IPL を実行します。
$ ipl c
IBM ドキュメントの IPL を参照してください。
- クラスター内の他のマシンに、この手順を繰り返します。
2.13.1. 詳細の RHCOS インストールリファレンス
このセクションでは、Red Hat Enterprise Linux CoreOS (RHCOS) の手動インストールプロセスを変更できるようにするネットワーク設定および他の高度なオプションを説明します。以下の表では、RHCOS ライブインストーラーおよび coreos-installer
コマンドで使用できるカーネル引数およびコマンドラインのオプションを説明します。
2.13.1.1. ISO インストールのネットワークおよびボンディングのオプション
ISO イメージから RHCOS をインストールする場合、そのイメージを起動してノードのネットワークを設定する際に手動でカーネル引数を追加できます。ネットワークの引数が指定されていない場合、RHCOS が Ignition 設定ファイルを取得するためにネットワークが必要であることを検知する際に、DHCP が initramfs でアクティベートされます。
ネットワーク引数を手動で追加する場合は、rd.neednet=1
カーネル引数を追加して、ネットワークを initramfs で有効にする必要があります。
以下の情報は、ISO インストール用に RHCOS ノードでネットワークおよびボンディングを設定する例を示しています。この例では、ip=
、nameserver=
、および bond=
カーネル引数の使用方法を説明しています。
順序は、カーネル引数の ip=
、nameserver=
、および bond=
を追加する場合に重要です。
ネットワークオプションは、システムの起動時に dracut
ツールに渡されます。dracut
でサポートされるネットワークオプションの詳細は、dracut.cmdline
man ページ を参照してください。
次の例は、ISO インストールのネットワークオプションです。
DHCP または静的 IP アドレスの設定
IP アドレスを設定するには、DHCP (ip=dhcp
) を使用するか、個別の静的 IP アドレス (ip=<host_ip>
) を設定します。静的 IP を設定する場合、各ノードで DNS サーバー IP アドレス (nameserver=<dns_ip>
) を特定する必要があります。次の例では、以下を設定します。
-
ノードの IP アドレス:
10.10.10.2
-
ゲートウェイアドレス:
10.10.10.254
-
ネットワーク:
255.255.255.0
-
ホスト名:
core0.example.com
-
DNS サーバーアドレス:
4.4.4.41
-
auto-configuration の値を
none
に設定します。IP ネットワークが静的に設定されている場合には、自動設定は必要ありません。
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp1s0:none nameserver=4.4.4.41
DHCP を使用して RHCOS マシンの IP アドレスを設定する場合、マシンは DHCP を介して DNS サーバー情報も取得します。DHCP ベースのデプロイメントの場合、DHCP サーバー設定を使用して RHCOS ノードが使用する DNS サーバーアドレスを定義できます。
静的ホスト名を使用しない IP アドレスの設定
静的ホスト名を割り当てずに IP アドレスを設定できます。静的ホスト名がユーザーによって設定されていない場合は、逆引き DNS ルックアップによって取得され、自動的に設定されます。静的ホスト名なしで IP アドレスを設定するには、次の例を参照してください。
-
ノードの IP アドレス:
10.10.10.2
-
ゲートウェイアドレス:
10.10.10.254
-
ネットワーク:
255.255.255.0
-
DNS サーバーアドレス:
4.4.4.41
-
auto-configuration の値を
none
に設定します。IP ネットワークが静的に設定されている場合には、自動設定は必要ありません。
ip=10.10.10.2::10.10.10.254:255.255.255.0::enp1s0:none nameserver=4.4.4.41
複数のネットワークインターフェイスの指定
複数の ip=
エントリーを設定することで、複数のネットワークインターフェイスを指定できます。
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp1s0:none ip=10.10.10.3::10.10.10.254:255.255.255.0:core0.example.com:enp2s0:none
デフォルトゲートウェイとルートの設定
オプション: rd.route=
value を設定して、追加のネットワークへのルートを設定できます。
1 つまたは複数のネットワークを設定する場合、1 つのデフォルトゲートウェイが必要です。追加のネットワークゲートウェイがプライマリーネットワークゲートウェイと異なる場合、デフォルトゲートウェイはプライマリーネットワークゲートウェイである必要があります。
次のコマンドを実行して、デフォルトゲートウェイを設定します。
ip=::10.10.10.254::::
次のコマンドを入力して、追加ネットワークのルートを設定します。
rd.route=20.20.20.0/24:20.20.20.254:enp2s0
単一インターフェイスでの DHCP の無効化
2 つ以上のネットワークインターフェイスがあり、1 つのインターフェイスのみが使用される場合などに、1 つのインターフェイスで DHCP を無効にします。この例では、enp1s0
インターフェイスには静的ネットワーク設定があり、使用されていない enp2s0
では DHCP が無効になっています。
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp1s0:none ip=::::core0.example.com:enp2s0:none
DHCP と静的 IP 設定の組み合わせ
以下のように、複数のネットワークインターフェイスを持つシステムで、DHCP および静的 IP 設定を組み合わせることができます。
ip=enp1s0:dhcp ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp2s0:none
個々のインターフェイスでの VLAN の設定
オプション: vlan=
パラメーターを使用して、個別のインターフェイスに VLAN を設定できます。
ネットワークインターフェイスで VLAN を設定し、静的 IP アドレスを使用するには、次のコマンドを実行します。
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:enp2s0.100:none vlan=enp2s0.100:enp2s0
ネットワークインターフェイスで VLAN を設定し、DHCP を使用するには、次のコマンドを実行します。
ip=enp2s0.100:dhcp vlan=enp2s0.100:enp2s0
複数の DNS サーバーの指定
以下のように、各サーバーに nameserver=
エントリーを追加して、複数の DNS サーバーを指定できます。
nameserver=1.1.1.1 nameserver=8.8.8.8
複数のネットワークインターフェイスの単一インターフェイスへのボンディング
オプション: bond=
オプションを使用して、複数のネットワークインターフェイスを単一のインターフェイスにボンディングできます。次の例を参照してください。
結合インターフェイスを設定するための構文は、
bond=<name>[:<network_interfaces>][:options]
です。<name>
はボンディングデバイス名 (bond0
)、<network_interfaces>
は物理 (イーサネット) インターフェイスのコンマ区切りのリスト (em1,em2
) を表し、options はボンディングオプションのコンマ区切りのリストです。modinfo bonding
を入力して、利用可能なオプションを表示します。Bond=
を使用してボンディングされたインターフェイスを作成する場合は、IP アドレスの割り当て方法とボンディングされたインターフェイスのその他の情報を指定する必要があります。DHCP を使用するようにボンディングされたインターフェイスを設定するには、ボンドの IP アドレスを
dhcp
に設定します。以下に例を示します。bond=bond0:em1,em2:mode=active-backup ip=bond0:dhcp
- 静的 IP アドレスを使用するようにボンディングされたインターフェイスを設定するには、必要な特定の IP アドレスと関連情報を入力します。以下に例を示します。
bond=bond0:em1,em2:mode=active-backup,fail_over_mac=1 ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:bond0:none
共有 OSA/RoCE カードを使用する場合の問題を回避するために、常にアクティブバックアップモードで fail_over_mac=1
オプションを設定してください。
複数のネットワークインターフェイスの単一インターフェイスへのボンディング
任意: 以下のように、vlan=
パラメーターを指定して、DHCP を使用して、ボンディングされたインターフェイスで VLAN を設定できます。
ip=bond0.100:dhcp bond=bond0:em1,em2:mode=active-backup vlan=bond0.100:bond0
次の例を使用して、VLAN でボンディングされたインターフェイスを設定し、静的 IP アドレスを使用します。
ip=10.10.10.2::10.10.10.254:255.255.255.0:core0.example.com:bond0.100:none bond=bond0:em1,em2:mode=active-backup vlan=bond0.100:bond0
ネットワークチーミングの使用
任意: team=
パラメーターを指定して、ボンディングの代わりにネットワークチーミングを使用できます。
チームインターフェイス設定の構文は
team= name [:network_interfaces]
です。name はチームデバイス名 (
team0
)、network_interfacesは物理 (イーサネット) インターフェイス (em1、em2
) のコンマ区切りリストを表します。
RHCOS が次のバージョンの RHEL に切り替わると、チーミングは非推奨になる予定です。詳細は、Red Hat ナレッジベースアーティクル libvirt-lxc を使用した Linux コンテナー (廃止) を参照してください。
次の例を使用して、ネットワークチームを設定します。
team=team0:em1,em2 ip=team0:dhcp