OKD 4 : インストール #32022/04/19 |
Red Hat OpenShift 4 のアップストリーム、OKD 4 のインストールです。
当例では以下のような環境を例に OKD 4 クラスターを構成します。 --------------+----------------+-----------------+-------------- |10.0.0.25 | |10.0.0.24 +-------------+-------------+ | +--------------+-------------+ | [mgr.okd4.srv.world] | | | [bootstrap.okd4.srv.world] | | Manager Node | | | Bootstrap Node | | DNS | | | | | Nginx | | | | +---------------------------+ | +----------------------------+ | --------------+----------------+-----------------+-------------- |10.0.0.40 | |10.0.0.41 +-------------+-------------+ | +--------------+-------------+ | [master-0.okd4.srv.world] | | | [master-1.okd4.srv.world] | | Control Plane#1 | | | Control Plane#2 | | | | | | | | | | | +---------------------------+ | +----------------------------+ | --------------+----------------+ |10.0.0.42 +-------------+-------------+ | [master-2.okd4.srv.world] | | Control Plane#3 | | | | | +---------------------------+ |
構築にあたっては、下記が最小のシステム要件となっています。(公式ドキュメントより)* Bootstrap ノード ⇒ 4 CPU, 16 GB RAM, 100 GB Storage, Fedora CoreOS * Control Plane ノード ⇒ 4 CPU, 16 GB RAM, 100 GB Storage, Fedora CoreOS * Compute ノード ⇒ 2 CPU, 8 GB RAM, 100 GB Storage, Fedora CoreOS |
|
* Bootstrap ノードはクラスター構築時のみ必要なノードとなります。
|
|
Manager ノード設定済みを前提として、Bootstrap ノード、Control Plane ノードに
Fedora CoreOS をインストールして設定します。
|
|
[1] |
以下の公式サイトにアクセスして Fedora CoreOS のインストーラーをダウンロードしておきます。
当例と同様に進める場合、ダウンロードするのは [Bare Metal] の ISO ファイルです。 ⇒ https://getfedora.org/en/coreos/download?tab=metal_virtualized&stream=stable&arch=x86_64 ⇒ https://builds.coreos.fedoraproject.org/browser?stream=stable&arch=x86_64 (Older Version) |
[2] | Fedora CoreOS をインストールする対象マシンの DVD ドライブに ISO ファイルをセットして電源をオンします。 すると、Fedora CoreOS が DVD から起動します。そのまま Enter キーを押下すると、システムが起動して、自動ログインします。 |
[3] | ログイン後、以下のようにネットワークを設定して、ローカルディスクに Fedora CoreOS をインストールします。 ホスト名は ignition ファイルから自動設定されるため、手動設定は不要です。 最初に、Bootstrap ノードを設定します。 |
# デバイス名確認 [core@localhost ~]# nmcli device DEVICE TYPE STATE CONNECTION ens160 ethernet connected Wired connection 1 lo loopback unmanaged -- # IP アドレス等々を設定 # DNS は Manager ノードを指定 [core@localhost ~]# nmcli connection add type ethernet autoconnect yes con-name ens160 ifname ens160 [core@localhost ~]# nmcli connection modify ens160 ipv4.addresses 10.0.0.24/24 ipv4.method manual [core@localhost ~]# nmcli connection modify ens160 ipv4.dns 10.0.0.25 [core@localhost ~]# nmcli connection modify ens160 ipv4.gateway 10.0.0.1 [core@localhost ~]# nmcli connection modify ens160 ipv4.dns-search okd4.srv.world [core@localhost ~]# nmcli connection up ens160
# ローカルディスクのデバイス名確認 [core@localhost ~]# sudo fdisk -l Disk /dev/nvme0n1: 100 GiB, 107374182400 bytes, 209715200 sectors Disk model: VMware Virtual NVMe Disk Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes ..... ..... # Fedora CoreOS をローカルディスクにインストール [core@localhost ~]# sudo coreos-installer install /dev/nvme0n1 --ignition-url=http://10.0.0.25:8080/bootstrap.ign --insecure-ignition --copy-network Installing Fedora CoreOS 35.20220327.3.0 x86_64 (512-byte sectors) Read disk 2.5 GiB/2.5 GiB (100%) Writing Ignition config Copying networking configuration from /etc/NetworkManager/system-connections/ Copying /etc/NetworkManager/system-connections/ens160.nmconnection to installed system Install complete. # インストール完了後は DVD を取り出して再起動し、次の作業に進む # * 再起動後も変更処理は継続する [core@localhost ~]# sudo reboot |
[4] | Control Plane ノードを設定します。 Bootstrap ノードと同様、Fedora CoreOS インストーラーをセットして電源をオンし、同様に設定します。異なる箇所は IP アドレスと ignition ファイル名のみです。 |
[core@localhost ~]# nmcli device DEVICE TYPE STATE CONNECTION ens160 ethernet connected Wired connection 1 lo loopback unmanaged --
[core@localhost ~]#
[core@localhost ~]# nmcli connection add type ethernet autoconnect yes con-name ens160 ifname ens160 [core@localhost ~]# nmcli connection modify ens160 ipv4.addresses 10.0.0.40/24 ipv4.method manual [core@localhost ~]# nmcli connection modify ens160 ipv4.dns 10.0.0.25 [core@localhost ~]# nmcli connection modify ens160 ipv4.gateway 10.0.0.1 [core@localhost ~]# nmcli connection modify ens160 ipv4.dns-search okd4.srv.world [core@localhost ~]# nmcli connection up ens160
sudo fdisk -l Disk /dev/nvme0n1: 100 GiB, 107374182400 bytes, 209715200 sectors Disk model: VMware Virtual NVMe Disk Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes ..... ..... # Control Plane ノードは [master.ign] [core@localhost ~]# sudo coreos-installer install /dev/nvme0n1 --ignition-url=http://10.0.0.25:8080/master.ign --insecure-ignition --copy-network Installing Fedora CoreOS 35.20220327.3.0 x86_64 (512-byte sectors) Read disk 2.5 GiB/2.5 GiB (100%) Writing Ignition config Copying networking configuration from /etc/NetworkManager/system-connections/ Copying /etc/NetworkManager/system-connections/ens160.nmconnection to installed system Install complete. # インストール完了後は DVD を取り出して再起動し、次の作業に進む # * 再起動後も変更処理は継続する [core@localhost ~]# sudo reboot |
[5] | Manager ノードで進行状況が確認できます。 環境にもよりますが、STATUS = Ready までそれなりに時間がかかります。 |
[root@mgr ~]# openshift-install --dir=okd4 wait-for bootstrap-complete
INFO Waiting up to 20m0s (until 10:28AM) for the Kubernetes API at https://api.okd4.srv.world:6443...
INFO API v1.23.3-2003+e419edff267ffa-dirty up
INFO Waiting up to 30m0s (until 10:38AM) for bootstrapping to complete...
INFO It is now safe to remove the bootstrap resources
INFO Time elapsed: 9m1s
# 最終的に上記のように表示されれば クラスター Ready となる
# 認証情報を読み込む [root@mgr ~]# export KUBECONFIG=okd4/auth/kubeconfig [root@mgr ~]# echo 'export KUBECONFIG=$HOME/okd4/auth/kubeconfig' >> ~/.bash_profile
# STATUS = Ready であれば OK [root@mgr ~]# oc get nodes NAME STATUS ROLES AGE VERSION master-0.okd4.srv.world Ready master,worker 17m v1.23.3+759c22b master-1.okd4.srv.world Ready master,worker 10m v1.23.3+759c22b master-2.okd4.srv.world Ready master,worker 5m50s v1.23.3+759c22b |
[6] | クラスター構築完了後は、Bootstrap ノードはシャットダウンして OK です。 なお、Manager ノードから各ノードへは、ignition ファイルで設定した通り、[core] ユーザーで SSH 鍵アクセス可能です。 |
[root@mgr ~]# ssh core@master-0 hostname master-0.okd4.srv.world[root@mgr ~]# ssh core@master-1 hostname master-1.okd4.srv.world[root@mgr ~]# ssh core@master-2 hostname master-2.okd4.srv.world[root@mgr ~]# ssh core@bootstrap [core@bootstrap ~]$ sudo shutdown -h now |
Sponsored Link |