ansible-001 基础

starrylsi
2024-04-14 / 0 评论 / 27 阅读 / 正在检测是否收录...

1.安装

  • Ansible 是 Python 编写的
  • 安装教程在 ansible 官网有
  • 只需要在管理主机上安装 ansible 即可

2.两种命令方式

  1. ad-hoc

    • ad-hoc 通常用来描述临时性、特定目的的操作或解决方案,与长期规划或结构化方法相对。在 Ansible 中,ad-hoc 命令即为为特定目的而设计的临时性命令,用于快速执行特定任务而无需编写完整的 Playbook。
    • ansible [pattern] -m [module] -a "[module options]"

      • -[pattern]=目标主机和组

        • "all" = 默认组包含每一个主机
  2. playbook

    • 类似于 shell 脚本
      -Ansible Playbook 是一种用 YAML 格式编写的文件,用于定义一系列任务和配置项,以实现自动化部署、配置管理和编排。Playbook 包含了一系列 Play 以及对应的任务,可以描述系统的状态和所需的操作,如安装软件、配置文件、启动服务等。通过执行 Playbook,可以实现对远程主机的自动化管理和配置。

3.准备受控主机

  • 安装 Linux 操作系统

    • 需要有安装 Python
    • ls /usr/bin/python3 查看是否安装

4.连接受控主机

  1. 指定服务器的 ip 地址或主机名称
  2. 指定服务器的用户名密码或私有 ssh 密钥
  3. 如果你不会配置密钥可以查看

  4. 具体实现
# 1.
cd ~

# 2. 编写hosts
vim hosts
192.168.136.136 ansible_ssh_private_key_file=~/.ssh/id_rsa ansible_user=root

# 3. 检查密钥是否生效
ansible all -i hosts -m ping

5.主机组

  • 您可以将每个主机放在多个组中
  • 您可以创建跟踪的群组
    where - a datacenter/region,e.g.east,west
    what - e.g database servers,web servers etc.
    when - which stage,e.g. dev,test,prod environment
vim hosts

[droplet]
192.168.136.136 ansible_ssh_private_key_file=~/.ssh/id_rsa ansible_user=root

6.变量

  • 试想 [5.主机组] 中配置 50 个主机,我们会发现私钥路径重复了,这时我们可以通过配置变量来解决重复的问题
# 1.
vim hosts
# 2.
[droplet]
192.168.136.136

[droplet:vars]
ansible_ssh_private_key_file=~/.ssh/id_rsa
ansible_user=root

ansible droplet -i hosts -m ping

0

评论 (0)

取消