分类 自动化 下的文章

ansible-playbook

运行Ansible playbook的工具,这是一个配置和多节点部署系统。有关更多信息,请参阅项目主页 ( https://docs.ansible.com )。

环境变量

可以指定以下环境变量。

ANSIBLE_INVENTORY – 覆盖默认的ansible清单文件

ANSIBLE_LIBRARY – 覆盖默认的ansible模块库路径

ANSIBLE_CONFIG - 覆盖默认的 ansible 配置文件

示例

ANSIBLE_CONFIG=~/k8s-test/ansible.cfg ansible-playbook -i ~/k8s-test/hosts_bjdlyy_k3s playbooks/001.init.yaml

通过添加-v,可以查看当前使用的ansible.cfg

ANSIBLE_CONFIG=~/k8s-test/ansible.cfg ansible-playbook -i ~/k8s-test/hosts_bjdlyy_k3s playbooks/001.init.yaml -v

配置文件

ansible.cfg 中的大多数选项都有更多可用的选项

文件

/etc/ansible/hosts – 默认库存文件

/etc/ansible/ansible.cfg – 配置文件,如果存在则使用

~/.ansible.cfg- 用户配置文件,覆盖默认配置(如果存在)

- 阅读剩余部分 -

若想要在Ansible Playbook使用{{ }},需要使用{{ '{{' }} {{ '}}' }}这样的方式进行转换,才能够正常使用

示例

通过 --format 获取docker容器的信息命令

# 通过docker inspect --format 获取指定的容器信息
# 通过column -t格式化列显示
docker inspect --format='Name:{{.Name}} RestartPolicy:{{.HostConfig.RestartPolicy.Name}} MaximumRetryCount:{{.HostConfig.RestartPolicy.MaximumRetryCount}}' $(docker ps -q)| column -t

在ansible playbook中使用,需要对 {{ }} 进行转义

- name: check docker RestartPolicy
  remote_user: dev
  hosts: test_docker_host
  gather_facts: False
  tasks:
    - name: get 输出信息到本地
      shell: "docker inspect --format='Name:{{ '{{' }}.Name{{ '}}' }} RestartPolicy:{{ '{{' }}.HostConfig.RestartPolicy.Name{{ '}}' }} MaximumRetryCount:{{ '{{' }}.HostConfig.RestartPolicy.MaximumRetryCount{{ '}}' }}' $(docker ps -q)| column -t > /tmp/docker_restartpolicy.txt"