注意:
- 此教程位于 Oracle 提供的免费实验室环境中。
- 它对 Oracle Cloud Infrastructure 身份证明、租户和区间使用示例值。完成实验室后,请使用特定于云环境的那些值替换这些值。
使用 AWX 集合管理 Oracle Linux Automation Manager
简介
AWX Ansible Collection 允许管理员通过手册与 Oracle Linux Automation Manager 进行交互。这些模块包括执行用户和组管理、创建项目和运行作业等任务的功能。
目标
在本教程中,您将学习如何:
- 部署 DevOps 和 Oracle Linux Automation Manager 实例
- 在 DevOps 实例上设置配置文件
- 编写手册以创建运行作业所需的项
- 测试并验证手册
先决条件
- 用于运行 Oracle Linux Automation Engine 手册的控制节点
- Oracle Linux Automation Manager 的实例
部署 Oracle Linux Automation Manager
注:如果在您自己的租户中运行,请阅读 linux-virt-labs
GitHub 项目 README.md ,并在部署实验室环境之前完成先决条件。
-
在 Luna 桌面上打开一个终端。
-
克隆
linux-virt-labs
GitHub 项目。git clone https://github.com/oracle-devrel/linux-virt-labs.git
-
转到工作目录。
cd linux-virt-labs/olam
-
安装所需的集合。
ansible-galaxy collection install -r requirements.yml
-
更新 Oracle Linux 实例配置。
cat << EOF | tee instances.yml > /dev/null compute_instances: 1: instance_name: "olam-node" type: "control" olam_type: single EOF
-
创建清单文件。
cat << EOF | tee hosts > /dev/null localhost ansible_connection=local ansible_connection=local ansible_python_interpreter=/usr/bin/python3.6 EOF
-
部署实验室环境。
ansible-playbook create_instance.yml -i hosts -e "@instances.yml"
对于 localhost,免费实验室环境需要额外的变量
ansible_python_interpreter
,因为它为 Oracle Cloud Infrastructure SDK for Python 安装 RPM 软件包。根据您的 Oracle Linux 版本,此软件包的安装位置位于系统的默认 Python 模块下面。使用清单变量可避免影响在本地主机以外的主机上运行的播放。默认部署配置使用 AMD CPU。您可以通过在命令行上传递新的配置变量定义来更改实例的配置。
例如:
-e instance_shape="VM.Standard3.Flex"
同样,Oracle Linux 映像的缺省版本使用在 `default_vars.yml file' 中定义的变量
os_version
。可以通过在命令行上传递 Oracle Linux 主版本来修改此值。例如:
-e os_version="9"
重要提示:等待手册成功运行并到达暂停任务。在手册的这一阶段,Oracle Linux 安装已完成,实例已准备就绪。请注意上一个播放,其中输出其部署的节点的公共和专用 IP 地址。
验证 Oracle Linux Automation Manager 的部署
-
打开一个新的终端。
-
配置到 Oracle Linux Automation Manager 实例的 SSH 隧道。
ssh -o ExitOnForwardFailure=yes -f -L 8444:localhost:443 oracle@<public_ip_address_of_olam-node> sleep 300
-o ExitOnForwardFailure=yes
:等待所有远程端口转发成功建立-f
:在后台运行 SSH 隧道-L
:在本地系统上创建端口 8444 上的隧道,在远程系统上创建端口 443sleep 300
:将远程隧道保持打开状态 5 分钟,等待已建立的连接,然后再自动关闭
-
打开 Web 浏览器并输入 URL。
https://localhost:8444
注:根据使用的浏览器批准安全警告。对于 Chrome,单击
Advanced
按钮,然后单击Proceed to localhost (unsafe)
链接。 -
使用用户名
admin
和部署期间创建的密码admin
登录到 Oracle Linux Automation Manager。 -
登录后,将显示 Web UI。
创建控制器配置文件
AWX Ansible 集合使用配置文件,在某些情况下,使用 AWX CLI 对 Oracle Linux Automation Manager 进行验证。验证参数可以使用 CLI 直接在命令行上传递或写入配置文件。
指定验证参数时,AWX Ansible Collection 需要以下任一项的组合:
- 主机,用户名,密码
- 主机,OAuth2 标记
上游项目中提供了更多详细信息。
-
返回到创建 SSH 隧道的终端。
-
生成配置文件。
cat << EOF | tee ~/.tower_cli.cfg > /dev/null [general] host: https://localhost:8444 verify_ssl: false username: admin password: admin use_token = false EOF
host:
- 定义用于访问 Oracle Linux Automation Manager Web UI 的 URLverify_ssl:
- 关闭严格的 SSL 检查,因为教程环境使用自签名证书use_token:
- 虽然首选使用 OAuth2 标记,但设置为 false 会关闭使用一个标记进行验证
创建组织
正如我们在入门教程中所述,组织位于基于角色的金字塔的顶部,是用户、团队、项目和库存的逻辑集合。
与其通过 Web UI 创建,我们可以编写一个手册。
-
写剧本。
cat << EOF | tee configure-olam.yaml > /dev/null --- - name: Playbook to set up training demo data using the AWX collection hosts: localhost gather_facts: false collections: - awx.awx tasks: - name: Create an organization awx.awx.organization: name: "Example" description: "Created using a playbook" state: present EOF
-
运行剧本。
ansible-playbook configure-olam.yaml
-
验证 Web UI 中的更改。
使用浏览器登录到 Web UI。
注:如果遇到登录失败,则 SSH 隧道可能已过期。在这种情况下,您需要重新运行 SSH 命令以重新建立连接。
在导航菜单中,单击组织。请注意剧本创建的示例条目。
运行作业
创建组织后,现在让我们通过进行一些修改来自动执行入门教程中的其余步骤。Oracle Linux Automation Engine 的一个优势是自文档记录。
-
返回到创建了剧本的终端。
-
将其他配置附加到现有手册。
cat << EOF | tee -a configure-olam.yaml > /dev/null - name: Add a user awx.awx.user: username: jdoe password: oracle email: jdoe@example.com first_name: John last_name: Doe organization: Example state: present - name: Add an inventory awx.awx.inventory: name: "Demo Inventory" description: "Demo OCI Instances" organization: Example state: present - name: Add a host awx.awx.host: name: localhost description: "Use to run tasks locally" inventory: "Demo Inventory" state: present variables: ansible_connection: local - name: Add a credential awx.awx.credential: name: "Linux Instance" credential_type: Machine organization: Example inputs: username: opc ssh_key_data: "" - name: Add a project awx.awx.project: name: "Hello World" description: "Sample Hello World Project" organization: Example default_environment: "OLAM EE (2.3)" scm_type: "git" scm_update_on_launch: false scm_url: https://github.com/oracle-devrel/linux-virt-labs.git state: present - name: Add a template awx.awx.job_template: name: "Say Hello" job_type: "run" organization: Example inventory: "Demo Inventory" project: "Hello World" playbook: "labs/olam-hello-world.yaml" state: present - name: Launch a job awx.awx.job_launch: job_template: "Say Hello" wait: true register: job - name: Print results from job ansible.builtin.debug: var: job EOF
-
重新运行剧本。
ansible-playbook configure-olam.yaml
剧本结尾是最后一个将作业状态显示为
successful
的剧本,以及一个可以忽略的警告。 -
在 Web UI 中验证作业。
使用浏览器,导航到作业,然后单击说您好作业。输出显示作业期间剧本运行的结果。请注意来自调试任务的欢迎消息。
后续步骤
Web UI 中的输出确认您有一个有效的 Oracle Linux Automation Manager,并编写了手册来管理一些更常见的任务。
相关链接
更多学习资源
浏览 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 渠道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Manage Oracle Linux Automation Manager Using the AWX Collection
G32879-02
Copyright ©2024, Oracle and/or its affiliates.