其他分享
首页 > 其他分享> > ansible 001 ansible介绍 原理

ansible 001 ansible介绍 原理

作者:互联网

ansible 自动化运维

ansible 部署应用程序 (在操作系统层面之上)

系统初始化过程
主机名,yun源,网络,服务,时间同步,内核参数 (可以在pxe这里完成)
ansible可以方便100多台服务器来变更,不至于pxe重新安装

PXE  预启动的执行环境   
PXE (Pre-boot Execution Environment)协议使计算机可以通过网络启动。 

当硬盘没有OS时可以选择
光盘
u盘
网络 
启动

网络 (网卡) ip 当前的环境也得有dhcp服务器来分配ip 引导程序 启动 安装系统 脚本 anacoda
anacoda.cfg 为预写配置

主控端安装ansible软件就行

pupput
ruby

saltstack
python
安装包
服务 master与agent对接   (属于saltstack)   客户端服务需要汇报心跳
模块化

ansible
python
安装包
基于ssh服务   (被管的客户端,在主机清单写)
模块化

ssh    加密
telent   被抓包都是明文

配一个aliyun的epel源
下载ansible并写主机清单。来测试

[root@workstation ansible]# cat hosts 
192.168.230.165
192.168.230.166
[root@workstation ansible]# 


红色为报错

黄色有改动,且成功

使用相应的模块完成会更好 虽然shell是万金油
shell不能保证ansible的幂等性 重复执行效果一样


从上图可以看出差别。user模块发现符合要求,则不在重新创建,而shell重新创建且引发了报错

ansible 基于ssh 所以并发连接会受限,ssh并发1000台,那么ssh就会顶不住
ansible可以多级控制 ansible嵌套ansible下发命令
ansible拥有playbook,按顺序执行指令

配置域名,写主机清单

[root@workstation ansible]# cat /etc/hosts 
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6


192.168.230.164  workstation.example.com  workstation
192.168.230.165  servera.example.com  servera
192.168.230.166  servera.example.com  serverb
[root@workstation ansible]# vi hosts 
[root@workstation ansible]# cat hosts 
servera
serverb
[root@workstation ansible]# 

[root@workstation ansible]# ansible all --list-hosts
hosts (2):
    servera
    serverb
[root@workstation ansible]# 


遇到此问题,手动接收密钥

查看联通性

成功-k后,短时间内就不需要-k了

我使用ssh的哪个用户登录?

[root@workstation ansible]# ansible all -m shell -a 'whoami' -k
SSH password: 
serverb | CHANGED | rc=0 >>
root
servera | CHANGED | rc=0 >>
root

登录后的工作目录为家目录

[root@workstation ansible]# ansible servera -m shell -a 'pwd' -u xiaomao -k 
SSH password: 
servera | CHANGED | rc=0 >>
/home/xiaomao
[root@workstation ansible]# 

使用xiaomao来连接,并且发现家目录为xiaomao
通过家目录来判断当前用户更加靠谱
pwd未切换用户,读不到root的环境变量

补充ce内容
提权之后,角色会从普通用户变为root

[xiaomao@servera ~]$ sudo id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[xiaomao@servera ~]$ id
uid=1000(xiaomao) gid=1000(xiaomao) groups=1000(xiaomao) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[xiaomao@servera ~]$ 

[xiaomao@servera ~]$ sudo cat /etc/sudoers.d/xiaomao
xiaomao ALL=(ALL) NOPASSWD:ALL
[xiaomao@servera ~]$

标签:xiaomao,workstation,001,ansible,ssh,原理,root,servera
来源: https://www.cnblogs.com/supermao12/p/16631887.html