惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fortinet All Blogs
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
人人都是产品经理
人人都是产品经理
V
Visual Studio Blog
Last Week in AI
Last Week in AI
V
V2EX
博客园_首页
IT之家
IT之家
Jina AI
Jina AI
博客园 - 叶小钗
The Cloudflare Blog
T
Tailwind CSS Blog
腾讯CDC
B
Blog
D
Docker
L
LangChain Blog
博客园 - 司徒正美
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
美团技术团队
Apple Machine Learning Research
Apple Machine Learning Research
爱范儿
爱范儿
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
GbyAI
GbyAI

博客 on 打工人日志

k8s RKE2 cilium L2 + envoy gateway 安装配置 k8s RKE2 vSphere 存储配置 OpenClaw 全能指南:从安装到进阶自动化实战 (2026 最终版) Kubernetes — skywalking + banyanDB APM监控部署 Kubernetes — promtail + loki + grafana 日志系统部署 k8s master 节点 Unauthorized Kubernetes — metalLB + Traefik 部署 Kubernetes — SSL 证书自动更新 Kubernetes — RKE2 + kube-vip + cilium 部署 使用TLSv1.3 升级nginx和openssl Proxmox VE(PVE) 更新到最新版本 kindle 邮件发送失败,错误代码E999 metallb + ingress-nginx + argocd 本地部署 iStoreOS(旁路由)使用openclash实现dns劫持 异常流量分析:图片库服务黑客入侵 openwrt 硬盘扩容 搭建ip地址检索服务 Kubernetes — k8s 手动安装 1.17.9 SELinux 问题:导致端口无法创建,无法访问 【福利】免费!本地部署!去除视频中移动的物体 通知:《打工人日报》迁移到独立板块 KyBook 3 | calibre-web - IOS系统最佳图书伴侣 Tmux 安装和使用教程 DockerHub 加速镜像部署 - 使用cloudflare 代理 docker的零停机部署 SD-webui 批量处理图片 ubuntu 安装 ComfyUI ubuntu 安装 stable-diffusion-webui 测试策略:微服务架构 单元测试:测试单元质量提升
ansible 安装和部署
2021-12-30 · via 博客 on 打工人日志

ansible 安装和部署

Ansible 默认通过 SSH 协议管理机器.

安装 ansible

  1. 下载安装
1# ubuntu 安装
2apt-get install software-properties-common
3apt-add-repository ppa:ansible/ansible
4apt-get update
5apt-get install ansible
6# centos 安装
7yum install ansible
  1. 检查文件

ansible 配置

  1. 添加主机
1vim /etc/ansible/hosts
2#添加你需要添加的被控主机地址和IP
  1. 配置 SSH key 授权访问
1# 控制主机生成ssh 密钥对(一路回车)
2ssh-keygen -t rsa
3# 复制公钥IP到被控主机
4ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.2
5ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.3
6ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.4
7# ssh-copy-id命令会自动将id_rsa.pub文件的内容追加到远程主机root用户下.ssh/authorized_keys文件中。
  1. 更改 ansible 配置
1vim /etc/ansible/ansible.cfg
2
3#禁用每次执行ansbile命令检查ssh key host
4host_key_checking = False
5# 开启日志记录
6log_path = /var/log/ansible.log
  1. 测试
1# 控制主机
2ansible all -m ping

Inventory

  1. 配置组别
 1vim /etc/ansible/hosts
 2# 添加组别
 3
 4[pve]
 5192.168.0.2
 6192.168.0.3
 7192.168.0.4
 8
 9#测试
10ansible pve -m ping
  1. Inventory 参数 把你的 inventory 文件 和 变量 放入 git repo 中,以便跟踪他们的更新,这是一种非常推荐的方式.
参数作用
ansible_ssh_host将要连接的远程主机名.与你想要设定的主机的别名不同的话,可通过此变量设置.
ansible_ssh_portssh 端口号.如果不是默认的端口号,通过此变量设置.
ansible_ssh_user默认的 ssh 用户名
ansible_ssh_passssh 密码(这种方式并不安全,我们强烈建议使用 –ask-pass 或 SSH 密钥)
ansible_sudo_passsudo 密码(这种方式并不安全,我们强烈建议使用 –ask-sudo-pass)
ansible_sudo_exe (new in version 1.8)sudo 命令路径(适用于 1.8 及以上版本)
ansible_connection与主机的连接类型.比如:local, ssh 或者 paramiko. Ansible 1.2 以前默认使用 paramiko.1.2 以后默认使用 ‘smart’,‘smart’ 方式会根据是否支持 ControlPersist, 来判断’ssh’ 方式是否可行.
ansible_ssh_private_key_filessh 使用的私钥文件.适用于有多个密钥,而你不想使用 SSH 代理的情况.
ansible_shell_type目标系统的 shell 类型.默认情况下,命令的执行使用 ‘sh’ 语法,可设置为 ‘csh’ 或 ‘fish’.
ansible_python_interpreter目标主机的 python 路径.适用于的情况: 系统中有多个 Python, 或者命令路径不是"/usr/bin/python",比如 *BSD, 或者 /usr/bin/python

Roles

Roles 是基于已知文件结构自动加载某些变量文件,任务和处理程序的方法。按角色对内容进行分组,适合构建复杂的部署环境 Roles 目录结构:

 1site.yml
 2webservers.yml
 3fooservers.yml
 4roles/
 5common/
 6tasks/
 7handlers/
 8files/
 9templates/
10vars/
11defaults/
12meta/
13webservers/
14tasks/
15defaults/
16meta/
  • tasks 包含角色要执行的任务的主要列表
  • handlers 包含处理程序,此角色甚至在此角色之外的任何地方都可以使用这些处理程序
  • defaults 角色的默认变量
  • vars 角色的其他变量
  • files 包含可以通过此角色部署的文件
  • templates 包含可以通过此角色部署的模版
  • meta 为此角色定义一些元数据