(2)ansible进阶,容器、加密
【1】redhat9与容器
(1.1)概念
使用 特别的 ansible-navigator 容器,来跑 ansible 命令。
(1.2)安装配置 ansible-navigator 与 容器
配置:
sudo yum -y install ansible-navigator
sudo vim ~/.ansible-navigator.yml
--- ansible-navigator: execution-environment: image: registry.lab.example.com:5000/ee-supported-rhel8:latest pull: policy: missing //如果镜像没有就下载,有就不下载了,为了避免使用时重复安装
sudo vim /etc/containers/registries.conf
unqualified-search-registries = [ "registry.lab.example.com:5000" ] [[registry]] location = "registry.lab.example.com:5000" insecure=true
#下载、查看镜像(无就下载,有就是查看),引用 ~/.ansible-navigator.yml 配置文件
ansible-navigator images
启动容器执行剧本:
ansible-navigator run test1.yml -m stdout
【2】ansible 加密
任何文件都可以,不止是 ansible playbook
ansible-vault -h
核心参数:
- encrypt:加密
- decrypt:解密
- view:查看
- rekey:重置密码
案例:
ansible-vault encrypt test01.yml # 给 test01文件加密,会让你设置密码 ansible-vault view test01.yml # 输入密码,就可以查看解密后的文档内容 ansible-vault decrypt test01.yml # 把 test01文件解密,恢复明文模式,需要输入密码
(1)如果文件加密:
直接执行会报错,需要 ansible-playbook test01.yml --ask-vault-pass ,这样就可以输入密码执行 playbook
(2)密码存储在文件中,执行playbook
echo '123'> abcd.txt
ansible-playbook test01.yml --vault-id abcd.txt # 解密也可以用这种方式
【3】角色