翼度科技»论坛 云主机 LINUX 查看内容

Install Ansible on CentOS 8

8

主题

8

帖子

24

积分

新手上路

Rank: 1

积分
24
环境准备:

1.至少俩台linux主机,一台是控制节点,一台是受控节点
2.控制节点和受控节点都需要安装Python36
3.控制节点需要安装ansible
4.控制节点需要获得受控节点的普通用户或root用户的权限,控制节点需要ssh客户端,受控节点需要ssh服务端
5.控制节点和受控节点之间网络联通,配置静态ip
环境安装:

主机名IP地址角色master172.25.250.132控制节点node01172.25.250.128受控节点node02172.25.250.129受控节点
按照以上要求准备3台机器,最小化安装CentOS8,可以先安装一台master,配置主机名,IP,yum源等等,其他的2台机器直接使用master克隆,更改主机名和IP
1、master虚拟机配置(其他虚拟机以此为例:配置ip修改主机名配置yum源)
  1. [root@master    ~]# hostnamectl set-hostname master   
  2. [root@master    ~]# nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.4.253/24 connection.autoconnect yes
  3. # 可以把dns加上,注意子网掩码
  4. # 重新激活网卡使其生效
  5. [root@master    ~]# nmcli connection up ens33
  6. # 查看修改后的地址
  7. [root@master    ~]# ip a
  8. # 设置为开机自启动
  9. [root@master    ~]# vim /ect/fstab
  10. /dev/cdrom /mnt iso9660 defaults  0 0
  11. # 挂载
  12. [root@contorl ~]# mount -a
  13. # 也可以换阿里源
  14. sed -e 's|^mirrorlist=|#mirrorlist=|g' \
  15.     -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' \
  16.     -i.bak \
  17.     /etc/yum.repos.d/Rocky-*.repo
  18. dnf makecache
  19. # 本地光盘镜像源
  20. [root@Control ~]# vim /etc/yum.repos.d/dvd.repo
  21. [AppStream]
  22. name=AppStream
  23. baseurl=file:///mnt/AppStream
  24. enabled=1
  25. gpgcheck=0
  26. [BaseOS]
  27. name=BaseOS
  28. baseurl=file:///mnt/BaseOS
  29. enabled=1
  30. gpgcheck=0
  31. # 清理缓存
  32. [root@Control ~]# yum clean all
  33. [root@Control ~]# yum repolist
  34. # 安装常用软件:
  35. [root@Control ~]# yum install -y bash-completion tree lrzsz  vim  net-tools.x86_64  unzip   lsof  wget
  36. # 关机
  37. [root@Control ~]# poweroff
复制代码
可以给master主机做个快照,方便还原,克隆其余2台主机,修改主机名和IP即可,所有主机内存调成512M
2、修改hosts文件
  1. 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
  2. ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
  3. 172.25.250.132 master
  4. 172.25.250.128 node01
  5. 172.25.250.129 node02
复制代码
3、配置ssh免密登录
  1. [root@master ~]# ssh-keygen -f /root/.ssh/id_rsa -N ''
  2. [root@master ~]# for i in node{1,2}
  3. do
  4. ssh-copy-id $i
  5. done
  6. [root@master ~]# ssh node01     #以node01为例,测试ssh免密登录
复制代码
4、时间同步设置
  1. 这里我使用的是仅主机模式,所以受控节点的主机没有互联网,但是三台主机的时间一样的,我就不做配置
  2. 1、安装时间同步软件包:
  3. [root@master ~]# yum install chrony
  4. 2、修改配置文件:
  5. [root@master ~]# vim /etc/chrony.conf
  6. pool 2.rocky.pool.ntp.org iburst
  7. pool ntp1.aliyun.com iburst
  8. pool ntp2.aliyun.com iburst
  9. 3、设置为开机自启:
  10. [root@master ~]# systemctl enable --now chronyd
  11. 4、写计划任务同步:
  12. [root@master ~]# vim /etc/crontab
  13. 0 10  * * * root  chronyc sources &>/dev/null
复制代码
5、安装Python36,三台服务器都装同一个版本Python
  1. 1、每台机器都装:接下来的操作都在master上
  2. yum install python36 -y
  3. 2、不用root权限,权限太高了;在master主机上创建student 密码redhat;在node节点上用的redhat用户,密码redhat
  4. [root@node01 ~]# vim /etc/sudoers
  5. root    ALL=(ALL)       ALL
  6. redhat ALL=(ALL)       NOPASSWD: ALL
  7. 强制保存退出
  8. 如果用的visudo打开就不用,正常退出就行
  9. 3、测试:
  10. [root@master ~]# visudo
  11. [root@master ~]#
  12. [root@master ~]#
  13. [root@master ~]# su - student
  14. Last login: Tue Dec 13 12:17:40 CST 2022 on pts/0
  15. [student@master ~]$ sudo ls /root
  16. anaconda-ks.cfg
复制代码
6、安装ansible[仅master安装即可,其余受控节点安装Python]
  1. 1、阿里云下载扩展源:epel
  2. [student@master ~]$ sudo yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
  3. 也可以自己写源:
  4. [epel]
  5. name=epel
  6. baseurl=https://mirrors.aliyun.com/epel/8/Everything/x86_64/
  7. gpgcheck=0
  8. 2、安装ansible:
  9. [student@master ~]$ yum install ansible -y
  10. 3、查看ansible版本信息:
  11. [student@master ~]$ ansible --version
  12. ansible [core 2.13.3]
  13.   config file = /etc/ansible/ansible.cfg
  14.   configured module search path = ['/home/student/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  15.   ansible python module location = /usr/lib/python3.9/site-packages/ansible
  16.   ansible collection location = /home/student/.ansible/collections:/usr/share/ansible/collections
  17.   executable location = /usr/bin/ansible
  18.   python version = 3.9.13 (main, Nov 16 2022, 15:31:39) [GCC 8.5.0 20210514 (Red Hat 8.5.0-15)]
  19.   jinja version = 3.1.2
  20.   libyaml = True
复制代码
7、安装完成,做一个初始化快照,以便后期直接恢复干净的ansible环境。

出处:http://www.cnblogs.com/sre-chan/-------------------------------------------
个性签名:今天做了别人不想做的事,明天你就做得到别人做不到的事,尝试你都不敢,你拿什么赢!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

来源:https://www.cnblogs.com/sre-chan/p/17277390.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具