《OpenShift / RHEL / DevSecOps 汇总目录》
自动化生成式 AI 的 Ansible-Lightspeed 服务核心功能
Ansible-Lightspeed 是 RedHat 提供的一项自动化生成式 AI 的服务,它可以帮助 Ansible 开发人员更快、更好地开发 Playbook。除了自动生成 Playbook 内容外,正式商业版还提供“内容发现”、“内容优化” 和 “内容解释” 功能。
安装配置 Ansible Lightspeed 环境
准备操作系统环境
- 本文以下操作兼容 CentOS Stream 8/9、RHEL 8/9、Fedora 38 操作系统,另外操作系统必须安装图形桌面。
- 运行命令,安装 python3-pip 和 ansible 软件。
$ sudo yum install -y python3-pip
$ sudo yum install -y ansible
- 修改 /etc/sudoers 文件,增加以下一行,为当前用户 xxxx 实现免密运行 sudo 命令。
xxxx ALL=(ALL) NOPASSWD: ALL
安装 VSCode
说明:在本文完成之时 VSCode 刚刚发布 1.80 版本,但测试后发现版本为 2.4.78 的 Ansible 扩展有适配问题,所以建议先使用 VSCode 1.79 版本。
- 从 https://code.visualstudio.com/updates/v1_79 下载基于 RPM 形式 Linux 版 的 VSCode 安装包。
- 运行命令安装 VSCode。
$ sudo yum intall -y code-1.79.2-1686734266.el7.x86_64.rpm
- 在桌面上启动运行 VSCode 程序。
安装和配置 Ansible Lightspeed 扩展
- 在 VSCode 的 Extensions 中找到 Ansible,然后安装。该安装过程会连带安装其他相关的扩展。
- 根据下图进入 Settings,然后查找 lightspeed,最后选中 2 个带有 Enable 的选项。
- 根据以下操作步骤,先进入 Ansible 扩展,再点击 Connect 按钮。然后允许打开浏览器,在浏览器中登录自己的 GitHub 账号。
- 登录 GitHub 后按照以下操作步骤允许 Ansible LightSpeed 访问 GitHub 账号。
- 完成配置后,可以在 VSCode 的 Ansible 扩展中看到 Ansible LightSpeed 已经用指定账号访问到 GitHub 了。
用 Ansible-Lightspeed 高效开发 Ansible Playbook
- 执行命令创建一个测试用的 Playbook 文件 ansible-ai.yml。
$ mkdir ~/ansible
$ touch ~/ansible/ansible-ai.yml
- 在 VSCode 打开 ansible-ai.yml 文件,先复制以下内容,然后“回车”。Ansible-Lightspeed 会根据任务名的功能描述生成 Playbook 代码。超等片刻可以看到 Ansible-Lightspeed 生成的建议内容,这些内容就是针对任务名称 - “Install httpd service” 推荐的实现代码。
- name: Ansible Lightspeed test
hosts: localhost
tasks:
- name: Install httpd service
- 如果接受推荐内容,可键入“Tab” 即可。
- 鼠标右击 ansible-ai.yml 文件,按下图在菜单中选则 Run playbook via ‘sible-playbook’ 即可运行该 Playbook 了。可以在下方的 TERMINAL 窗口中看到执行的输出。
- 以下 YAML内容可以每次输入一行,然后“回车”,此后确认 Ansible-Lightspeed 自动生成的代码是否符合要求。如果不符合要求,可以尝试将任务名称写的更详细。
- name: copy index.html file
- name: start httpd and firewalld service
- name: create a vm in aws
- name: create a vpc in aws
- name: Crate a VM in vmware
- name: Snapshot a vm in vmware
- name: Create a user in wheel group
- name: get linux version
- name: generate system info report
- name: get disk vdb size_gb
- name: run a command
- name: run a cron job
- name: create a lvm
- name: format the lvm
- name: create a user in windows server
- name: install MSI package in windows
- name: set firewall smtp inwindows
演示视频
演示视频
参考
https://www.ansible.com/blog/welcome-to-the-ansible-lightspeed-technical-preview