第 21 章 为 Red Hat Virtualization 配置
您可以通过创建一个堡垒虚拟机并使用它来安装 OpenShift Container Platform,为 Red Hat Virtualization 配置 OpenShift Container Platform。
21.1. 创建堡垒(bastion)虚拟机
在 Red Hat Virtualization 中创建堡垒主机来安装 OpenShift Container Platform。
流程
- 使用 SSH 登录到 Manager 机器。
- 为安装文件创建一个临时 bastion 安装目录,如 /bastion_installation。
使用
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
- 堡垒虚拟机的 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
- 如果您使用需要身份验证的镜像 registry,请添加凭证。
- 保存该文件。
获取 Red Hat Enterprise Linux KVM 客户机镜像 下载链接:
- 访问 Red Hat Customer Portal:下载 Red Hat Enterprise Linux。
- 在产品软件 选项卡中,找到 Red Hat Enterprise Linux KVM 客户机镜像。
右键单击 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 客户机镜像的下载链接。Red Hat Enterprise Linux KVM 客户机镜像 包含cloud-init
软件包,此 playbook 需要该软件包。如果没有使用 Red Hat Enterprise Linux,请下载cloud-init
软件包,并在运行此 playbook 前手动安装它。
创建堡垒虚拟机:
# ansible-playbook -i localhost create-bastion-machine-playbook.yaml -e @secure_vars.yaml --ask-vault-pass
- 登录管理门户。
-
点击
来验证 rhel-bastion 虚拟机是否已成功创建。