CentOS Stream 8
Sponsored Link

OKD 4 : インストール #22022/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 ノード設定済みを前提として、Manager ノードで ignition ファイルを作成します。
[1]
以下の公式サイトにアクセスして Pull Secret をダウンロードしておきます。
ダウンロードするには、RedHat アカウントでのログインが必要です。
⇒ https://cloud.redhat.com/openshift/create/local
[2] ignition ファイルを作成します。
# OpenShift クライアントダウンロード
# 最新版はこちらで確認 ⇒ https://github.com/openshift/okd/releases/

[root@mgr ~]#
wget https://github.com/openshift/okd/releases/download/4.10.0-0.okd-2022-03-07-131213/openshift-client-linux-4.10.0-0.okd-2022-03-07-131213.tar.gz \ https://github.com/openshift/okd/releases/download/4.10.0-0.okd-2022-03-07-131213/openshift-install-linux-4.10.0-0.okd-2022-03-07-131213.tar.gz

[root@mgr ~]#
tar zxvf openshift-client-linux-4.10.0-0.okd-2022-03-07-131213.tar.gz

[root@mgr ~]#
tar zxvf openshift-install-linux-4.10.0-0.okd-2022-03-07-131213.tar.gz

[root@mgr ~]#
mv oc kubectl openshift-install /usr/local/bin/

[root@mgr ~]#
chmod 755 /usr/local/bin/{oc,kubectl,openshift-install}

[root@mgr ~]#
oc version

Client Version: 4.10.0-0.okd-2022-03-07-131213
# Manager ノードから各ノードへ SSH アクセスするための鍵を生成
# パスフレーズは必要に応じて設定 ⇒ 設定する場合は SSH-Agent が必要 (当例ではノーパスフレーズで設定)

[root@mgr ~]#
ssh-keygen -q -N ""

Enter file in which to save the key (/root/.ssh/id_rsa):
# ignition ファイル作成

[root@mgr ~]#
mkdir okd4

[root@mgr ~]#
vi ./okd4/install-config.yaml
# [baseDomain] : ベースドメインを指定
# [metadata.name] : 任意のクラスター名を指定
# ⇒ (metadata.name).(baseDomain) は DNS に設定した名前 と合わせる
# [controlPlane.replicas] : Control Plane ノードの数を指定
# [pullSecret] : 事前にダウンロードした Pull Secret を貼り付け
# [sshKey] : 生成した SSH 鍵を指定 (public key)

apiVersion: v1
baseDomain: srv.world
compute:
- hyperthreading: Enabled
  name: worker
  replicas: 0
controlPlane:
  hyperthreading: Enabled
  name: master
  replicas: 3
metadata:
  name: okd4
networking:
  clusterNetwork:
  - cidr: 10.128.0.0/14
    hostPrefix: 23
  networkType: OpenShiftSDN
  serviceNetwork:
  - 172.30.0.0/16
platform:
  none: {}
pullSecret: '{"auths":*****}'
sshKey: 'ssh-rsa *****'

[root@mgr ~]#
openshift-install create manifests --dir=okd4

INFO Consuming Install Config from target directory
WARNING Making control-plane schedulable by setting MastersSchedulable to true for Scheduler cluster settings
INFO Manifests created in: okd4/manifests and okd4/openshift

[root@mgr ~]#
openshift-install create ignition-configs --dir=okd4

INFO Consuming Master Machines from target directory
INFO Consuming Common Manifests from target directory
INFO Consuming Worker Machines from target directory
INFO Consuming Openshift Manifests from target directory
INFO Consuming OpenShift Install (Manifests) from target directory
INFO Ignition-Configs created in: okd4 and okd4/auth

[root@mgr ~]#
cp ./okd4/{bootstrap.ign,master.ign,worker.ign} /usr/share/nginx/html/

[root@mgr ~]#
chmod 644 /usr/share/nginx/html/{bootstrap.ign,master.ign,worker.ign}

関連コンテンツ