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
相关推荐
qeen87几秒前
【Linux】动静态库的链接与加载过程
linux·运维·系统编程
重生之小比特1 小时前
【Linux系统】17 库制作与原理(上)
linux·运维·服务器
wzg20161 小时前
ubuntu 离线安装 docker-compose
linux·ubuntu·docker
Shadow(⊙o⊙)1 小时前
仿muduo实现高并发服务器——EchoServer完成
运维·服务器
时间售卖铺2 小时前
Docker镜像构建全解析:从原理到实战优化
运维·docker·云原生·容器
小豆庄2 小时前
会议录屏忘打码后的技术复盘:本地自动化隐私脱敏方案
运维·opencv·目标检测·自动化·视频·纹理贴图
码途行者2 小时前
Linux 服务器 Golang 安装及环境变量配置
linux·运维·服务器
爱和冰阔落3 小时前
【Linux网络】UDP 聊天室怎么实现?从在线用户管理、消息广播到双线程收发与线程池
linux·运维·网络·udp
雪落漂泊3 小时前
Linux进程(三)概念:进程优先级与进程切换篇
linux·运维·服务器
拂拉氏3 小时前
【知识讲解】 Linux信号与可重入函数的认识
linux·运维·服务器