Ansible 运维工具

安装

apt install ansible

/etc/ansible/hosts , 指定密码或密钥访问分组机器

复制代码
[k8s_masters]
master0.c0.k8s.sb
  
[k8s_nodes]
node0.c0.k8s.sb
node1.c0.k8s.sb

[k8s:children]
k8s_masters
k8s_nodes

[k8s_masters:vars]
ansible_ssh_user=sbadmin
ansible_ssh_pass="***"
#ansible_ssh_private_key_file=/home/sbadmin/.ssh/id_rsa

[k8s_nodes:vars]
ansible_ssh_user=sbadmin
ansible_ssh_pass="***"
#ansible_ssh_private_key_file=/home/sbadmin/.ssh/id_rsa

/etc/ansible/ansible.cfg

复制代码
[defaults]
host_key_checking = False

命令

复制代码
# 运行时指定私钥
ansible all -m ping --key-file /home/user/.ssh/id_rsa

# 某一组机器执行ping
ansible k8s_nodes -m ping

# 不带参数默认走shell命令
ansible k8s -a "df -h" 
= 
ansible k8s -m shell -a "df -h"

剧本

公钥分发
复制代码
- hosts: k8s

  tasks:
  - name: Set authorized key took from file
    authorized_key:
      exclusive: True                                                 #清除远程主机之前所有的其他公钥
      key: "{{ lookup('file', '/home/sbadmin/.ssh/id_rsa.pub') }}"    #本机的公钥地址
      user: sbadmin                                                   #被控制的远程服务上的用户名
      state: present                                                  #模式为添加公钥

执行

复制代码
ansible-playbook distribute_pub_keys.yaml
相关推荐
Empty_7775 分钟前
DevOps理念
运维·devops
叶之香14 分钟前
CentOS/RHEL 7、8安装exfat和ntfs文件系统
linux·运维·centos
不过普通话一乙不改名21 分钟前
Linux 内核开发入门:从环境配置到 Hello World 实战
linux·运维
天河归来21 分钟前
在本地windows电脑使用Docker搭建xinference环境
docker·语言模型·容器
Trouvaille ~34 分钟前
【Linux】理解“一切皆文件“与缓冲区机制:Linux文件系统的设计哲学
linux·运维·服务器·操作系统·进程·文件·缓冲区
小五传输1 小时前
隔离网闸的作用是什么?新型网闸如何构筑“数字护城河”?
大数据·运维·安全
算力魔方AIPC1 小时前
使用 Docker 一键部署 PaddleOCR-VL: 新手保姆级教程
运维·docker·容器
Evan芙2 小时前
nginx核心配置总结,并实现nginx多虚拟主机
运维·数据库·nginx
FIT2CLOUD飞致云2 小时前
操作教程丨通过1Panel快速安装Zabbix,搭建企业级监控系统
运维·服务器·开源·zabbix·监控·1panel
Ghost Face...2 小时前
Docker实战:从安装到多容器编排指南
运维·docker·容器