第 21 章 为 Red Hat Virtualization 配置


您可以通过创建一个堡垒虚拟机并使用它来安装 OpenShift Container Platform,为 Red Hat Virtualization 配置 OpenShift Container Platform。

21.1. 创建堡垒(bastion)虚拟机

在 Red Hat Virtualization 中创建堡垒主机来安装 OpenShift Container Platform。

流程

  1. 使用 SSH 登录到 Manager 机器。
  2. 为安装文件创建一个临时 bastion 安装目录,如 /bastion_installation
  3. 使用 ansible-vault 创建加密的 /bastion_installation/secure_vars.yaml 文件并记录密码:

    # ansible-vault create secure_vars.yaml
  4. 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,请添加凭证。
  5. 保存该文件。
  6. 获取 Red Hat Enterprise Linux KVM 客户机镜像 下载链接:

    1. 访问 Red Hat Customer Portal:下载 Red Hat Enterprise Linux
    2. 产品软件 选项卡中,找到 Red Hat Enterprise Linux KVM 客户机镜像
    3. 右键单击 Download Now,复制 链接并保存。

      该链接对时间敏感,且必须先复制,然后才能创建 bastion 虚拟机。

  7. 使用以下内容创建 /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 前手动安装它。
  8. 创建堡垒虚拟机:

    # ansible-playbook -i localhost create-bastion-machine-playbook.yaml -e @secure_vars.yaml --ask-vault-pass
  9. 登录管理门户。
  10. 点击 Compute Virtual Machines 来验证 rhel-bastion 虚拟机是否已成功创建。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.