7.5. RHEL コンピュートマシンのクラスターへの追加
Red Hat Enterprise Linux をオペレーティングシステムとして使用するコンピュートマシンを OpenShift Container Platform 4.1 クラスターに追加することができます。
前提条件
- Playbook を実行するマシンに必要なパッケージをインストールし、必要な設定が行われている。
- インストール用の RHEL ホストを準備している。
手順
Playbook を実行するために準備しているマシンで以下の手順を実行します。
クラスターのプルシークレットを抽出します。
$ oc -n openshift-config get -o jsonpath='{.data.\.dockerconfigjson}' secret pull-secret | base64 -d | jq .-
pull-secret.txtという名前のファイルにプルシークレットを保存します。 コンピュートマシンホストおよび必要な変数を定義する
/<path>/inventory/hostsという名前の Ansible インベントリーファイルを作成します。[all:vars] ansible_user=root1 #ansible_become=True2 openshift_kubeconfig_path="~/.kube/config"3 openshift_pull_secret_path="~/pull-secret.txt"4 [new_workers]5 mycluster-worker-0.example.com mycluster-worker-1.example.com- 1
- Ansible タスクをリモートコンピュートマシンで実行するユーザー名を指定します。
- 2
ansible_userのrootを指定しない場合、ansible_becomeをTrueに設定し、ユーザーに sudo パーミッションを割り当てる必要があります。- 3
- クラスターの
kubeconfigファイルへのパスを指定します。 - 4
- クラスターのイメージレジストリーのプルシークレットが含まれるファイルへのパスを指定します。
- 5
- クラスターに追加する各 RHEL マシンを一覧表示します。各ホストについて完全修飾ドメイン名を指定する必要があります。この名前は、クラスターがマシンにアクセスするために使用するホスト名であるため、マシンにアクセスできるように正しいパブリックまたはプライベートの名前を設定します。
Playbook を実行します。
$ cd /usr/share/ansible/openshift-ansible $ ansible-playbook -i /<path>/inventory/hosts playbooks/scaleup.yml1 - 1
<path>については、作成した Ansible インベントリーファイルへのパスを指定します。