ansible 升级内核playbook
时间: 2023-07-21 19:08:57 浏览: 175
好的,下面是一个升级内核的 Ansible Playbook 示例:
```yaml
- hosts: all
become: true
tasks:
- name: Update apt cache
apt:
update_cache: yes
- name: Install new kernel
apt:
name: linux-generic
state: latest
- name: Reboot the system
reboot:
reboot_timeout: 300
post_reboot_delay: 30
connect_timeout: 5
reboot_timeout_check_interval: 5
test_command: uptime
```
这个 Playbook 包括三个 tasks:
1. 更新 apt 缓存
2. 安装最新的 linux-generic 内核包
3. 重启系统
请注意,这个 Playbook 需要在拥有 root 权限的用户下运行。在运行之前,请确保你已经备份了重要数据,并且你已经测试过这个 Playbook 能够在你的环境中正常工作。
相关问题
ansible dev
Ansible通过`ansible-vault`命令来管理和保护敏感信息,如创建、编辑和查看加密的Vault文件。下面是使用`ansible-vault`的一些基本操作:
1. **创建文件**:
使用`ansible-vault create`命令创建一个新的Vault文件,如`users.yml`:
```bash
[student@workstation ansible]$ ansible-vault create users.yml
```
2. **编辑文件**:
一旦文件被创建,可以使用`ansible-vault edit`打开它进行编辑:
```bash
[student@workstation ansible]$ ansible-vault edit users.yml
```
这会启动一个安全编辑器(默认是`vim`),你可以在这里添加或修改 Vault-protected 的内容。
3. **查看文件内容**:
如果你想查看加密后的文件内容,但不想直接解密,可以使用`ansible-vault view`命令,它只显示密文而不实际解密:
```bash
[student@workstation ansible]$ ansible-vault view users.yml
```
4. **重置密码或更改加密**:
如果需要更换Vault文件的密码,使用`ansible-vault rekey`命令重新加密整个文件:
```bash
[student@workstation ansible]$ ansible-vault rekey users.yml
```
至于`ansible_facts`,它们是Ansible收集并提供给playbooks关于目标主机的各种信息。对于开发而言,这些事实变量非常有用,比如:
- `ansible_facts.hostname`: 当前主机的名称
- `ansible_facts.fqdn`: 全局唯一域名(Fully Qualified Domain Name)
- `ansible_facts.default_ipv4.address`: 主机的主要IP地址
- `ansible_facts.devices`: `/dev` 目录下发现的块设备
- `ansible_facts.kernel`: 操作系统的内核版本
要在 playbook 中访问这些信息,只需在任务或条件语句中引用它们即可。例如:
```yaml
- name: 获取主机名
debug:
msg: "Hostname: {{ ansible_facts.hostname }}"
```
阅读全文