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
相关推荐
cookies_s_s15 分钟前
Linux--进程(进程虚拟地址空间、页表、进程控制、实现简易shell)
linux·运维·服务器·数据结构·c++·算法·哈希算法
zhouwu_linux1 小时前
MT7628基于原厂的SDK包, 修改ra1网卡的MAC方法。
linux·运维·macos
2401_897930061 小时前
linux系统如何配置host.docker.internal
linux·docker·eureka
诶尔法Alpha1 小时前
Linux上使用dify构建RAG
linux·运维·服务器
熬夜苦读学习2 小时前
Linux文件系统
linux·运维·服务器·开发语言·后端
荔枝荷包蛋6662 小时前
【网络】高级IO——Reactor版TCP服务器
运维·服务器
GGGGGGGGGGGGGG.3 小时前
hapxory-ACL基础介绍及案例
运维·服务器·网络
黑牛先生3 小时前
【Linux】匿名管道
linux·运维·服务器
流星白龙3 小时前
【Linux】35.封装 UdpSocket(2)
linux·运维·windows
是码农没错了4 小时前
银河麒麟系统安装mysql5.7【亲测可行】
linux·运维·kylin