备考CE##3

好多都给忘了##########

8
ansible-galaxy init 初始化一个角色, 创建标准的角色目录结构
templates 模板文件
Welcome to {{ ansible_fqdn }} on {{ ansible_enp1s0.ipv4.address }}
#这段模板文件的作用是在生成 HTML 文件时,动态插入当前主机的完全限定域名(FQDN)和网卡 IP 地址。这样可以确保每次生成的 HTML 文件都是针对特定主机的。


#定义一个 HTML 模板文件,使用 Ansible 变量动态生成内容
#Jinja2 模板引擎:用于动态生成文件内容。
#Ansible 变量:ansible_fqdn 和 ansible_enp1s0.ipv4.address 分别代表完全限定域名和网卡 IP 地址。
service 模块用于管理系统服务的状态。如开启 started
name: copy index.html.j2
  template:
    src: index.html.j2
    dest: /var/www/html/index.html
作用:使用 template 模块将模板文件 index.html.j2 复制到 /var/www/html/index.html。
知识点:template 模块用于将 Jinja2 模板文件复制到目标位置,并替换模板变量。
copy 模块用于将本地文件直接复制到远程主机的目标位置,而不进行任何处理。如果你只需要简单地复制文件,不需要任何模板变量替换,那么 copy 模块就足够了。

template 模块
template 模块用于将包含 Jinja2 模板变量的文件复制到远程主机的目标位置,并在复制过程中替换模板变量。如果你需要根据变量动态生成文件内容,那么 template 模块是更好的选择。


16

ansible-vault encrypt --vault-id /home/alice/ansible/secret.txt /home/alice/ansible/passdb.yml
ansible-vault encrypt:使用 Ansible Vault 加密指定的文件
--vault-id 指定加密密钥文件为

18
wget:下载文件的工具。可以从指定URL下载文件
ansible-vault rekey:重新设置 Ansible Vault 文件的密钥

小结
Ansible Roles 是一种组织和管理 Ansible Playbooks 的方法,它允许将相关的配置和任务分组到一个可重用的单元中。在 Ansible Playbook 中,可以通过 roles 关键字来包含一个 Role。
Role 通常位于项目的 roles 目录下,每个 Role 有自己的目录结构,包括 tasks, templates, files, vars, defaults, meta 等子目录
Ansible Collections 是一种将 Ansible 资源(如角色、模块、插件、剧本等)打包在一起的格式。
Collections 可以通过 Ansible Galaxy 或者直接使用命令行工具进行安装。
使用 ansible-galaxy collection install <namespace.collection> 命令安装 Collection。


10
fail模块: 用于在指定条件下终止任务并显示错误信息
  msg : 输出信息 类是 echo
debug:模块用于输出调试信息 
  msg : 输出信息 类是 echo

parted 模块: 用于管理磁盘分区
  device:指定要操作的设备。
  number:指定分区编号。  
  unit:指定单位,如 GiB、MiB 等
  state:指定分区的状态,可以是 present 或 absent
  part_end:指定分区的结束位置
filesystem模块: 用于格式化文件系统
  fstype:指定文件系统的类型,如 xfs、ext4 等。
  dev:指定要格式化的设备。
  mount_options:指定挂载选项。
ansible_devices: ansible的内置变量,表示目标主机上可用的设备列表 
when: 条件判断
block: 定义一组任务,如果任务失败则跳转到rescue
  rescue: 处理block任务失败的情况
  alway: 无论block是否成功都会执行


ansible-galaxy 是 Ansible 的命令行工具,用于管理 Ansible 的各种资源,如 Roles、Collections 等。

collection install 命令用于安装 Ansible Collection。 

11

ansible_lvm.vgs: ansible的内置变量 检查卷组是否存在
lvol: 模块
  vg: 卷组名
  lv: 逻辑卷名
  size: G M
  state: present absent

12
Jinja2模板渲染 
Ansible 将 newhosts.j2 模板文件加载并解析。
{% for i in groups.all %}  使用 groups.all 获取所有主机列表。
对每个主机执行循环,获取其 ansible_enp1s0.ipv4.address、ansible_fqdn 和 ansible_hostname。
将这些值拼接成一行,并在每行之间添加换行符(除非是最后一行)
hostvars: 包含每个主机的事实信息
ansible_hostname: 表示主机名
- fact: all   远程所有主机获取facts信息

13
功能:copy模块用于将本地文件或字符串内容复制到远程主机。
简单用途:适用于静态内容的复制。
功能:template模块用于将本地模板文件渲染后复制到远程主机。
复杂用途:适用于动态生成文件内容,尤其是需要使用多个变量的情况。
在Ansible中,可以通过 [group_name:vars] 的形式为特定组定义变量,这些变量可以在剧本中被引用。
在剧本中,通过 {{ con }} 引用变量 con。
这个变量是在Inventory文件中定义的,因此在剧本中可以直接引用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值