Ansible之 AWX 管理清单和凭据的一些笔记

简介: 写在前面分享一些 AWX 创建清单和凭据的笔记博文内容涉及:创建静态清单,清单角色,变量的配置创建凭据,凭据类型,角色等配置使用创建清单和凭据运行 ad-hoc 的 Demo食用方式: 需要了解 Ansible理解不足小伙伴帮忙指正

写在前面

  • 分享一些 AWX 创建清单和凭据的笔记
  • 博文内容涉及:

    • 创建静态清单,清单角色,变量的配置
    • 创建凭据,凭据类型,角色等配置
    • 使用创建清单和凭据运行 ad-hoc 的 Demo
  • 食用方式: 需要了解 Ansible
  • 理解不足小伙伴帮忙指正

傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去。在我看来,这是比死亡更可怕的事。--------王小波


关于清单,不多讲,这里的凭据即配置的 SSH 密钥,或者帐密信息,通过 SSH 来运行 Ansible 命令或者剧本,需要有SSH的相关认证信息。凭据就是这些认证信息

创建静态清单

创建要管理的清单,并设置 AWX 所需的凭据,以登录并在这些系统上运行 Ansible 剧本或者临时命令,当然,在 AWX 中,更多的是叫作业

在 AWX 中创建清单

清单在 AWX 中以单独的对象进行管理。,组织可能有多个可用的清单。创建作业模板时,可以为它们指定特定清单。 AWX 上的哪些用户可以使用清单对象取决于其在清单中的角色。

清单对象列表

清单对象列表

创建静态清单

创建静态清单

添加主机组

添加主机组

添加主机组

查看主机组列表

查看主机组列表

添加主机

添加主机

编辑主机信息

编辑主机信息

在添加一个

在添加一个

清单角色

通过清单的访问控制来看一下清单的角色,下面为为该清单添加团队角色

清单角色

清单的可用角色的列表:

  • 管理员/Admin:清单 Admin 角色授予用户对清单的完全权限。
  • 更新/Update:清单 Update 角色授予用户从其外部数据源更新动态清单的权限。
  • 运行临时命令/Ad Hoc:清单 Ad Hoc 角色授予用户使用清单执行 ad hoc 命令的权限。
  • 使用/Use:清单 Use 角色授予用户在作业模板资源中使用清单的权限。
  • 读取/Read:清单 Read 角色授予用户用户查看清单内容的权限。

首次创建清单时,只能由拥有清单所属组织的 Admin、Inventory Admin 或 Auditor 角色的用户访问。

在这里插入图片描述

配置清单变量

在 AWX 中管理静态清单时,可以直接在清单对象中定义清单变量。而不是使用 host_varsgroup_vars 目录。

注意:如果项目有 host_vars 和 group_vars 文件,不能在 AWX 中进行编辑这些文件。如果在两个变量目录文件中,以及在通过 Web UI 管理的静态清单对象中都定义了相同的主机或组变量,并且它们具有不同的值,则很难预测 AWX 将要使用的值。

在 清单 界面中,通过 编辑 图标来设置变量:

清单内创建主机组时,可以在 变量 字段中使用 YAML 或 JSON 来定义组变量,也可以通过 Edit Group 来修改组变量

创建主机组

清单内创建单个主机时,可以在 界面中使用 YAML 或 JSON 来定义组变量,也可以通过 Edit Host 来设置组变量

创建用于访问清单主机的凭据

为清单创建计算机凭据,以允许 AWX 使用 SSH 在清单主机上运行作业

凭据

凭据也是 AWX 对象,用于进行远程系统的身份验证。凭据可以提供密码 SSH 密钥,以成功访问或使用远程资源。

AWX 负责安全的存储这些凭据,凭据和密钥在加密之后保存到 AWX 数据库,无法从 AWX 用户界面以明文检索。虽然可以为用户或团队分配使用凭据的特权,但是这些机密不会透露给它们。

当 AWX 需要某一凭据时,它会在内部解密数据并直接传递给 SSH 或其它程序。

凭据类型

凭据类型

AWX 可以管理许多不同类型的凭据,包括:

  • Machine:用于对清单主机的 Playbook 登录和特权升级进行身份验证。
  • Network:用于 Ansible 网络模块管理网络设备。
  • SCM:用于项目从远程版本控制系统克隆或更新 Ansible 项目资料。
  • Vault:用于解密存储在 Ansible Vault 保护中的敏感信息。
  • 自定义凭据:管理员可以定义自定义凭据类型,不建议修改

创建计算机凭据

凭据通过位于左侧导航栏上的 AWX 凭据 链接下的页面进行管理。任何用户都可以创建凭据,并被视为该凭据的所有者。

凭据列表

创建凭据

创建凭据

可用通过帐密,SSH密钥,签名的SSH证书三种方式配置

需要提权,则配置提权信息

配置提权信息

編輯凭据

編輯凭据

如果没有为组织分配凭据,则它是专用凭据,只有拥有该凭据的用户和具有 AWX 系统管理员才可以使用。

专用凭据分配给组织的凭据的主要区别如下:

  • 任何用户都可以创建专用凭据,但只有拥有组织的 Admin 角色的 AWX 系统管理员和用户才能创建组织凭据
  • 如果凭据属于某个组织,则可以为用户和团队授予其角色,并且凭据可以共享未分配到组织专用凭据仅可由所有者 AWX 角色使用,其它用户和团队不能被授予角色。

任何用户都可以创建凭据,并视为该凭据的所有者。

凭据角色

凭据角色

凭据可用的角色:

  • Admin:授予用户对凭据的完全权限。
  • Use:授予用户在作业模板中使用凭据的权限。
  • Read:授予用户查看凭据详细信息的权限。

管理凭据访问权限过程,将添加的凭据添加 teams 授予权限

授予权限

常见使用凭据的场景

以下是一些常见的使用凭据的场景。

由 AWX 保护的凭据,不被用户所知

使用 AWX 凭据的一种常见场景是将任务的执行从管理员委派给一级支持人员。由于凭据由支持人员的团队共享,因此应创建⼀个组织凭据资源,以存储对受管主机进行 SSH会话身份验证所需的用户名、SSH 私钥和 SSH 密钥。该凭据还存储特权升级类型、用户名和 sudo 密码信息。创建后,该凭据可供支持人员用于在受管主机上启动作业,而无需知道 SSH 密钥sudo 密码

凭据提示输入敏感密码,而不是存储在 AWX 中

另⼀种场景是使用凭据来存储用户名身份验证信息,同时在使用凭据时仍以交互方式提示输入敏感密码。
可以配置为在某个作业使用凭据时提示用户输入帐户的密码,方法是选中 PASSWORD 的 Prompt on launch 复选框。比如数据库密码等特殊凭证

这里的启动时提示可用于动态的输入密码信息

在这里插入图片描述

实战

看一个 Demo,通过上面创建的清单和凭据,执行一个 ad-hoc 作业。

创建一个用户
在这里插入图片描述

并且加入到liruilonger 这个团队里
在这里插入图片描述

上面给liruilonger 这个teams对应的添加了相关的角色,所以这里通过devops用户来执行执行巡检操作

在这里插入图片描述

执行一个临时命令。通过清单ad hoc的方式

在这里插入图片描述

查看下节点中kubelet服务 的状态

在这里插入图片描述

选择之前创建的凭据
在这里插入图片描述

执行作业:通过输出可以查看 工作节点的 kubelet 状态
在这里插入图片描述
可以对输出日志进行查询

刚才的任务状态信息
在这里插入图片描述

博文引用资源

《DO447 Advanced Automation Ansible Best Practices》

相关文章
|
运维 Kubernetes 网络安全
Ansible自动化运维工具之主机管理与自定义配置文件(2)
Ansible自动化运维工具之主机管理与自定义配置文件(2)
151 0
|
应用服务中间件 nginx
Ansible模块——软件包管理模块
Ansible模块——软件包管理模块
141 0
|
存储 JSON 数据安全/隐私保护
ansible定义变量和管理事实
ansible定义变量和管理事实
161 0
|
Ubuntu 网络安全 Windows
Ansible 管理windows
Ansible 管理windows
|
存储 缓存 Linux
Ansible最佳实践之 AWX 启用facts缓存和模板问卷调查
写在前面 分享一些 AWX 启用facts缓存和模板问卷调查的笔记 博文内容涉及: 启动facts缓存相关配置Demo 启用模板调查来设置变量demo 食用方式: 需要了解 Ansible 理解不足小伙伴帮忙指正
213 0
Ansible最佳实践之 AWX 启用facts缓存和模板问卷调查
|
数据可视化 API 调度
Ansible最佳实践之 AWX 高级作业工作流的创建和调度
写在前面 分享一些 AWX 高级作业工作流的创建和调度的笔记 博文内容涉及: 创建和启动工作流模板 Demo 工作流调度和通知的相关介绍 食用方式: 需要了解 Ansible 理解不足小伙伴帮忙指正
378 0
Ansible最佳实践之 AWX 高级作业工作流的创建和调度
|
存储 JSON Devops
Ansible最佳实践之 AWX 使用 Ansible 与 API 通信
写在前面 分享一些 AWX 使用 Ansible 与 API 通信的笔记 博文内容涉及: curl 方式调用 AWX API 浏览器接口文档方式调用 AWX API 使用 API 调用方式启动 AWX 中 作业模板 Ansible 模块 uri 的简单介绍 Ansible 剧本方式 调用 API 启动作业模板 理解不足小伙伴帮忙指正
576 0
Ansible最佳实践之 AWX  使用 Ansible 与 API 通信
|
存储 缓存 监控
Ansible最佳实践之 AWX 作业创建和启动
写在前面 分享一些 AWX 作业创建和启动的笔记 博文内容涉及: 创建作业模板 涉及相关参数,作业模板角色配置介绍 运行作业模板并测试的Demo 食用方式: 需要了解 Ansible 理解不足小伙伴帮忙指正
364 0
Ansible最佳实践之 AWX 作业创建和启动
|
网络安全 数据安全/隐私保护
Ansible之 Tower使用User和Team管理访问权限的笔记
写在前面 这部分内容没有太大的差别,所以用旧版本的 Ansible Tower 博文内容涉及: 创建 Tower 用户即角色添加 创建 Tower 团队 即角色添加 食用方式: 需要了解 Ansible 理解不足小伙伴帮忙指正
207 0
Ansible之 Tower使用User和Team管理访问权限的笔记
|
存储 Kubernetes 调度
Ansible最佳实践之 AWX 管理项目的一些笔记
写在前面 分享一些 AWX 创建管理项目的笔记 博文内容涉及: 容器化 AWX 手工创建项目Demo 通过 SCM 创建项目 Demo 项目角色,更新策略介绍,SCM 凭据的创建 食用方式: 需要了解 Ansible 理解不足小伙伴帮忙指正
635 0
Ansible最佳实践之 AWX 管理项目的一些笔记