ansible(三)

命令运行

  • ansible的执行方式分为两种
    • 命令行方式
    • playbook方式
  • playbook方式类似于写个配置文件,也可称之为写个脚本然后执行整个文件的方式
  • 本文主要介绍命令行方式

命令行方式执行ansible

  • ansible [组名] [参数]

参数

  1. -a ‘Arguments’, --args=‘Arguments’ 命令行参数
  2. -m NAME, --module-name=NAME 执行模块的名字,默认使用 command 模块,所以如果是只执行单一命令可以不用 -m参数
  3. -i PATH, --inventory=PATH 指定库存主机文件的路径,默认为/etc/ansible/hosts.
  4. -u Username, --user=Username 执行用户,使用这个远程用户名而不是当前用户
  5. -U --sud-user=SUDO_User sudo到哪个用户,默认为 root
  6. -k --ask-pass 登录密码,提示输入SSH密码而不是假设基于密钥的验证
  7. -K --ask-sudo-pass 提示密码使用sudo
  8. -s --sudo sudo运行
  9. -S --su 用 su 命令
  10. -l --list 显示所支持的所有模块
  11. -s --snippet 指定模块显示剧本片段
  12. -f --forks=NUM 并行任务数。NUM被指定为一个整数,默认是5。 #ansible testhosts -a “/sbin/reboot” -f 10 重启testhosts组的所有机器,每次重启10台
  13. –private-key=PRIVATE_KEY_FILE 私钥路径,使用这个文件来验证连接
  14. -v --verbose 详细信息
  15. all 针对hosts 定义的所有主机执行
  16. -M MODULE_PATH, --module-path=MODULE_PATH 要执行的模块的路径,默认为/usr/share/ansible/
  17. –list-hosts 只打印有哪些主机会执行这个 playbook 文件,不是实际执行该 playbook 文件
  18. -o --one-line 压缩输出,摘要输出.尝试一切都在一行上输出。
  19. -t Directory, --tree=Directory 将内容保存在该输出目录,结果保存在一个文件中在每台主机上。
  20. -B 后台运行超时时间
  21. -P 调查后台程序时间
  22. -T Seconds, --timeout=Seconds 时间,单位秒s
  23. -P NUM, --poll=NUM 调查背景工作每隔数秒。需要- b
  24. -c Connection, --connection=Connection 连接类型使用。可能的选项是paramiko(SSH),SSH和地方。当地主要是用于crontab或启动。。。。。

简单使用

  • 组名为aliyun

  • ping

    • ansible a liyun -m ping
  • shell

    • ansible aliyun -m shell -a “pwd”
  • cp文件

    • ansible aliyun -m copy -a “src=/tmp/test.sh dest=/tmp/”
    • src指向的地址为本地地址,想将本地哪个文件传递到aliyun组的服务器上
    • dest指向的是远程路径,想将这个文件传递到aliyun组的服务器上的哪个位置
09-17
### 关于 Ansible 的下载安装与使用教程 #### 一、Ansible 基础概念 Ansible 是一种简单而强大的 IT 自动化工具,用于配置管理、应用程序部署以及任务编排。它的设计原则是基于无代理架构(Agentless),即不需要在被控节点上安装任何软件。 - **Inventory 文件**: 这是一个包含受控服务器信息的文件,默认路径位于 `/etc/ansible/hosts`[^1]。该文件定义了主机列表及其分组方式。 #### 二、Ansible 的安装方法 以下是 Ansible 在 Linux 和 macOS 上的标准安装步骤: 对于 Ubuntu 系统: ```bash sudo apt update sudo apt install software-properties-common sudo add-apt-repository --yes --update ppa:ansible/ansible sudo apt install ansible ``` 对于 CentOS/RHEL 系统: ```bash sudo yum install epel-release sudo yum install ansible ``` macOS 用户可以借助 Homebrew 工具完成安装: ```bash brew install ansible ``` 验证安装成功与否可以通过以下命令检查版本号: ```bash ansible --version ``` #### Ansible 的基本用法 ##### 1. 执行 Ad-Hoc 命令 Ad-Hoc 模式允许用户快速向远程主机发送单条指令并获取反馈。例如,查看目标主机上的 `~` 目录结构时可执行如下命令[^2]: ```bash ansible webserver -i ~/.ansible/hosts -m command -a 'ls ~' -k ``` 其中 `-k` 参数表示提示输入 SSH 密码而非依赖密钥认证。 ##### 2. 配置 Inventory 文件 默认情况下,Ansible 使用 `/etc/ansible/hosts` 作为 inventory 文件位置。如果需要指定自定义路径,则可通过 `-i` 参数实现。例如: ```ini [webserver] 192.168.1.10 ansible_user=root ``` ##### 3. Playbooks 编写入门 Playbook 是一组 YAML 格式的剧本脚本,用来描述一系列复杂操作序列。下面是一份最简化的 playbook 示例[^4]: ```yaml --- - name: Update all servers and reboot them hosts: webservers become: yes tasks: - name: Ensure system is up to date package: name: "*" state: latest - name: Reboot server after updates are installed reboot: ``` #### 四、跨平台支持——Windows 环境下的 Ansible 应用 尽管传统意义上 Ansible 更倾向于 Unix/Linux 平台的操作,但它同样具备良好的 Windows 支持能力。这主要得益于由社区开发者 jborean93 维护的一套专门针对 Microsoft 技术栈优化过的插件集合[^3]。这些组件让运维人员得以利用 PowerShell 脚本或者 WinRM 协议无缝衔接至企业内部混合云场景之中。 #### 五、容器集成解决方案-Ansible Bender 随着 DevOps 文化日益普及,越来越多的企业开始关注 CI/CD 流程中的镜像构建环节。为此官方推荐了一款名为 "Ansible Bender" 的第方扩展程序[^5]。它允许使用者仅需编写一份声明性的 YAML 描述文档就能全自动完成 Dockerfile 替代工作流的设计思路。 --- ###
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值