首页 > 其他分享 >Ansible 安装并简单使用

Ansible 安装并简单使用

时间:2022-11-04 17:04:48浏览次数:53  
标签:14 安装 CHANGED rc Ansible ssh 简单 root

Ansible 简介

Ansible 是一款 IT 自动化工具。主要应用场景有配置系统、软件部署、持续发布及不停服平滑滚动更新的高级任务编排。


Ansible 安装并简单使用_vim


Ansible 本身非常简单易用,同时注重安全和可靠性,以最小化变动为特色,使用 OpenSSH 实现数据传输 ( 如果有需要的话也可以使用其它传输模式或者 pull 模式 ),其语言设计非常利于人类阅读,即使是针对不刚接触 Ansible 的新手来讲亦是如此。


我们坚信无论什么范围的环境,简单都是必须的,所以我们的设计尽可能满足各类型的繁忙人群:开发人员、系统管理员、发布工程师、IT 管理员等所有类型的人。同时, Ansible 适用于各种环境,小到几台多到成千上万台的企业实际环境都完全满足。


Ansible 不使用C/S架构管理节点,即没有 Agent 。这样的架构使得 Ansible 不会存在如何升级远程 Agent 管理进程或者因为没有安装 Agent 而无法管理系统。因为 OpenSSH 是非常流行的开源组件,安全问题也非常少 。Ansible 的 去中心化 管理方式深受业内认可, 即它只依赖 OS 的 KEY 认证访问远程主机。如需, Ansible 可以便捷接入 Kerberos, LDAP 或者其它认证系统。


安装ansible工具


root@Ansible:~# apt update && apt install ansible
root@Ansible:~# apt install sshpass


创建秘钥


root@Ansible:~# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:ZlnekfYdDkp4AA2zZLysbtr8Epcp6tMgFB2TGEY/zFU root@Ansible
The key's randomart image is:
+---[RSA 3072]----+
|.++oo.oE+. |
|.o+oo o.o.o . |
| .= .....o+. . |
| . . o +oo.oo..|
|. . S ... ...|
| . . + * |
| . = + |
| oo= |
| .o+oo. |
+----[SHA256]-----+
root@Ansible:~#




批量拷贝脚本




root@Ansible:~# vim copy_ssh_id.sh




root@Ansible:~# cat copy_ssh_id.sh
#!/bin/bash
rm -f ./authorized_keys; touch ./authorized_keys
sed -i '/StrictHostKeyChecking/s/^#//; /StrictHostKeyChecking/s/ask/no/' /etc/ssh/ssh_config
sed -i "/#UseDNS/ s/^#//; /UseDNS/ s/yes/no/" /etc/ssh/sshd_config




cat hostsname.txt | while read host ip pwd; do
sshpass -p $pwd ssh-copy-id -f $ip 2>/dev/null
ssh -nq $ip "hostnamectl set-hostname $host"
ssh -nq $ip "echo -e 'y\n' | ssh-keygen -q -f ~/.ssh/id_rsa -t rsa -N ''"
echo "===== Copy id_rsa.pub of $ip ====="
scp $ip:/root/.ssh/id_rsa.pub ./$host-id_rsa.pub
#cat ./$host-id_rsa.pub >> ./authorized_keys
echo $ip $host >> /etc/hosts
done




root@Ansible:~#


添加主机信息


root@Ansible:~# vim hostsname.txt




root@Ansible:~# cat hostsname.txt
node 192.168.1.2 123123
node 192.168.1.3 123123
node 192.168.1.4 123123
node 192.168.1.5 123123
node 192.168.1.6 123123
node 192.168.1.7 123123
node 192.168.1.8 123123
node 192.168.1.9 123123




------


fetch模块:

copy模块:


1、从远程主机获取文件:




root@Ansible:~# ansible k8s -m fetch -a "src=/root/node.sh dest=/root/test"




2、从本地主机传到远程:
root@Ansible:~# ansible k8s -m copy -a "src=/root/node.sh dest=/root"




3、远程复制或者本地上传,加上force=yes,则会覆盖掉原来的文件,加上backup=yes,在覆盖的时候会把原来的文件做一个备份:
root@Ansible:~# ansible k8s -m copy -a "src=/root/node.sh dest=/root force=yes backup=yes"




4、复制的时候可以带参数:owner,group,mode


---------


将本地的源拷贝到服务器上




root@Ansible:~# ansible k8s -m copy -a "src=/etc/apt/sources.list dest=/etc/apt/"




更新源




root@Ansible:~# ansible k8s -m command -a 'apt update'




安装ntpdate




root@Ansible:~# ansible k8s -m command -a 'apt install ntpdate'




同步时间




root@Ansible:~# ansible k8s -m command -a 'ntpdate -u ntp.aliyun.com'






修改时区




root@Ansible:~#
root@Ansible:~#
root@Ansible:~# ansible k8s -m command -a 'cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime'






查看是否修改




root@Ansible:~#
root@Ansible:~# ansible k8s -m command -a 'date -R '
192.168.1.13 | CHANGED | rc=0 >>
Thu, 11 Nov 2021 14:52:57 +0800
192.168.1.10 | CHANGED | rc=0 >>
Thu, 11 Nov 2021 14:52:57 +0800
192.168.1.14 | CHANGED | rc=0 >>
Thu, 11 Nov 2021 14:52:57 +0800
192.168.1.12 | CHANGED | rc=0 >>
Thu, 11 Nov 2021 14:52:57 +0800
192.168.1.11 | CHANGED | rc=0 >>
Thu, 11 Nov 2021 14:52:57 +0800
192.168.1.15 | CHANGED | rc=0 >>
Thu, 11 Nov 2021 14:52:57 +0800
192.168.1.51 | CHANGED | rc=0 >>
Thu, 11 Nov 2021 14:52:57 +0800
192.168.1.52 | CHANGED | rc=0 >>
Thu, 11 Nov 2021 14:52:57 +0800
192.168.1.16 | CHANGED | rc=0 >>
Thu, 11 Nov 2021 14:52:57 +0800
192.168.1.53 | CHANGED | rc=0 >>
Thu, 11 Nov 2021 14:52:57 +0800
192.168.1.55 | CHANGED | rc=0 >>
Thu, 11 Nov 2021 14:52:58 +0800
192.168.1.54 | CHANGED | rc=0 >>
Thu, 11 Nov 2021 14:52:58 +0800
192.168.1.57 | CHANGED | rc=0 >>
Thu, 11 Nov 2021 14:52:58 +0800
192.168.1.56 | CHANGED | rc=0 >>
Thu, 11 Nov 2021 14:52:58 +0800
root@Ansible:~#
root@Ansible:~#



Ansible 安装并简单使用_sed_02


标签:14,安装,CHANGED,rc,Ansible,ssh,简单,root
From: https://blog.51cto.com/u_12212643/5823980

相关文章

  • KubeSphere 升级 && 安装后启用插件
    KubeSphere升级root@master1:~#exportKKZONE=cnroot@master1:~#kkupgrade--with-kubernetesv1.22.1--with-kubespherev3.2.0-fsample.yaml启用插件用户可以使用......
  • kubernetes(k8s)安装命令行自动补全功能
    Ubuntu下安装命令root@master1:~#aptinstall-ybash-completionReadingpackagelists...DoneBuildingdependencytreeReadingstateinformation...Donebash-c......
  • 使用 Istioctl 安装 istio
    使用Istioctl安装istio下载Istio转到Istio发布页面,下载针对你操作系统的安装文件,或用自动化工具下载并提取最新版本(Linux或macOS):[root@k8s-master-node1~]#curl......
  • HaProxy 安装搭建配置
    HaProxy简介    HAProxy是一个免费的负载均衡软件,可以运行于大部分主流的Linux操作系统上。    HAProxy提供了L4(TCP)和L7(HTTP)两种负载均衡能力,具备丰富的功能。H......
  • jenkins+ansible使用
      通过jenkins执行shell脚本调ansible-playbook可以方便的进行自动化管理部署1、写一个简单的palybookansible主机清单可以写在hosts文件里也可以动态获取----hos......
  • UBUNTU20 安装BAIDU网盘
    1下载:  点击官网主页下载https://pan.baidu.com/download#linux2安装  到下载目录,   sudodpkg-ibaidunetdisk_4.14.5_amd64.deb 3运行......
  • yarn的安装和使用1
    订阅专栏yarn的简介:Yarn是facebook发布的一款取代npm的包管理工具。yarn的特点:速度超快。Yarn缓存了每个下载过的包,所以再次使用时无需重复下载。同时利用并行下载......
  • yarn的安装与使用
    yarn的简介:Yarn是facebook发布的一款取代npm的包管理工具。yarn的特点:速度超快Yarn缓存了每个下载过的包,所以再次使用时无需重复下载。同时利用并行下载以最大化资......
  • VMware虚拟机安装Windows系统
    1.VMware下载及安装教程见:VMware下载安装教程2.下载及安装Windwos镜像2.1下载地址:官网地址从微软官网下载Windows10系统镜像,虽然方法略微有点复杂,但好在相比通过其它......
  • Suse安装PostgreSQL
    【1】安装数据库XXXX:/data/software#lspostgresql-9.6.5-1-linux-x64.runXXXX:/data/software#./postgresql-9.6.5-1-linux-x64.run--------------------------......