第21章 Red Hat Virtualization の設定
OpenShift Container Platform を Red Hat Virtualization に設定するには、bastion 仮想マシンを作成して、その仮想マシンを使用して OpenShift Container Platform をインストールできます。
21.1. bastion 仮想マシンの作成
Red Hat Virtualization で bastion 仮想マシンを作成し、OpenShift Container Platform をインストールします。
手順
- SSH を使用して Manager マシンにログインします。
- インストールファイル用に、/bastion_installation などの一時的な bastion インストールディレクトリーを作成します。
ansible-vault
で暗号化された /bastion_installation/secure_vars.yaml ファイルを作成し、パスワードを記録します。# ansible-vault create secure_vars.yaml
以下のパラメーター値を secure_vars.yaml ファイルに追加します。
engine_password: <Manager_password> 1 bastion_root_password: <bastion_root_password> 2 rhsub_user: <Red_Hat_Subscription_Manager_username> 3 rhsub_pass: <Red_Hat_Subscription_Manager_password> rhsub_pool: <Red_Hat_Subscription_Manager_pool_id> 4 root_password: <OpenShift_node_root_password> 5 engine_cafile: <RHVM_CA_certificate> 6 oreg_auth_user: <image_registry_authentication_username> 7 oreg_auth_password: <image_registry_authentication_password>
- 1
- 管理ポータルにログインするためのパスワード。
- 2
- bastion 仮想マシンの root パスワード
- 3
- Red Hat Subscription Manager の認証情報。
- 4
- Red Hat Virtualization Manager サブスクリプションプールのプール ID。
- 5
- OpenShift Container Platform の root パスワード
- 6
- Red Hat Virtualization Manager CA 証明書Manager マシンから Playbook を実行していない場合は、
engine_cafile
値が必要です。Manager CA 証明書のデフォルト場所は /etc/pki/ovirt-engine/ca.pem です。 - 7
- 認証が必要なイメージレジストリーを使用している場合は、認証情報を追加します。
- ファイルを保存します。
Red Hat Enterprise Linux KVM Guest Image のダウンロードリンクを取得します。
- Red Hat カスタマーポータル (Red Hat Enterprise Linux のダウンロード) に移動します。
- 製品ソフトウェア タブで、Red Hat Enterprise Linux KVM Guest Image を見つけます。
Download Now を右クリックし、リンクをコピーして保存します。
リンクは時間的に制約があるので、bastion 仮想マシンを作成する前にコピーする必要があります。
以下の内容で /bastion_installation/create-bastion-machine-playbook.yaml ファイルを作成し、パラメーターの値を更新します。
--- - name: Create a bastion machine hosts: localhost connection: local gather_facts: false no_log: true roles: - oVirt.image-template - oVirt.vm-infra no_log: true vars: engine_url: https://_Manager_FQDN_/ovirt-engine/api 1 engine_user: <admin@internal> engine_password: "{{ engine_password }}" engine_cafile: /etc/pki/ovirt-engine/ca.pem qcow_url: <RHEL_KVM_guest_image_download_link> 2 template_cluster: Default template_name: rhelguest7 template_memory: 4GiB template_cpu: 2 wait_for_ip: true debug_vm_create: false vms: - name: rhel-bastion cluster: "{{ template_cluster }}" profile: cores: 2 template: "{{ template_name }}" root_password: "{{ root_password }}" ssh_key: "{{ lookup('file', '/root/.ssh/id_rsa_ssh_ocp_admin.pub') }}" state: running cloud_init: custom_script: | rh_subscription: username: "{{ rhsub_user }}" password: "{{ rhsub_pass }}" auto-attach: true disable-repo: ['*'] # 'rhel-7-server-rhv-4.2-manager-rpms' supports RHV 4.2 and 4.3 enable-repo: ['rhel-7-server-rpms', 'rhel-7-server-extras-rpms', 'rhel-7-server-ansible-2.7-rpms', 'rhel-7-server-ose-3.11-rpms', 'rhel-7-server-supplementary-rpms', 'rhel-7-server-rhv-4.2-manager-rpms'] packages: - ansible - ovirt-ansible-roles - openshift-ansible - python-ovirt-engine-sdk4 pre_tasks: - name: Create an ssh key-pair for OpenShift admin user: name: root generate_ssh_key: yes ssh_key_file: .ssh/id_rsa_ssh_ocp_admin roles: - oVirt.image-template - oVirt.vm-infra - name: post installation tasks on the bastion machine hosts: rhel-bastion tasks: - name: create ovirt-engine PKI dir file: state: directory dest: /etc/pki/ovirt-engine/ - name: Copy the engine ca cert to the bastion machine copy: src: "{{ engine_cafile }}" dest: "{{ engine_cafile }}" - name: Copy the secured vars to the bastion machine copy: src: secure_vars.yaml dest: secure_vars.yaml decrypt: false - file: state: directory path: /root/.ssh - name: copy the OpenShift_admin keypair to the bastion machine copy: src: "{{ item }}" dest: "{{ item }}" mode: 0600 with_items: - /root/.ssh/id_rsa_ssh_ocp_admin - /root/.ssh/id_rsa_ssh_ocp_admin.pub
- 1
- Manager マシンの FQDN
- 2
<qcow_url>
は、Red Hat Enterprise Linux KVM Guest Image のダウンロードリンクに置き換えます。Red Hat Enterprise Linux KVM Guest Image には、この Playbook で必要なcloud-init
パッケージが含まれます。Red Hat Enterprise Linux を使用しない場合は、cloud-init
パッケージ をダウンロードし、この Playbook を実行する前に手動でインストールします。
bastion 仮想マシンを作成します。
# ansible-playbook -i localhost create-bastion-machine-playbook.yaml -e @secure_vars.yaml --ask-vault-pass
- 管理ポータルにログインします。
-
をクリックし、rhel-bastion 仮想マシンが正常に作成されたことを確認します。