实训ansible制作模板机步骤

1      下载 7.9centOS 镜像如下图 www.centos.org/  然后如下图顺序选择下载镜像

备注:地址任意选一个可以下载即可,2022 年 9 月 16 日实测第二个下载的快,大约 3 分钟(下载软件下载即可,例如:迅雷)

② vmware-workstation 安装模板机镜像

模板机设置:处理器 1 颗 2 核心;内存 2G;

模板机安装 Linux 系统镜像

注意:模板机自动化分区即可

备注:用户如图中的名字

模版机封装

  1. 开启模板机,root 用户登陆执行如下命令

# useradd ansible

// 安装时创建此用户,如果该用户存在,则忽略

# echo

“redhat123”|  passwd --stdin  ansible

// 设置用户 ansible 密码

# echo

"ansible ALL=(ALL) NOPASSWD: ALL"  >>

/etc/sudoers

// 配置 ansible 用户免密提权

# rm -f

/etc/ssh/ssh_host_*

// 删除 SSH 密钥对

# vim

/etc/selinux/config 文件中的 SELINUX=permissive

// 阻止 SElinux

# firewall-cmd--set-default-zone=trusted -----------

防火墙设置为信任区域

# systemctl

stop

NetworkManager-----------------------

未来手工填写地址,不使用 networkManager(即 nmcli)

# systemctl

disable

NetworkManager-----------------------

未来手工填写地址,不使用 networkManager(即 nmcli)

# systemctl

mask

NetworkManager-----------------------

未来手工填写地址,不使用 networkManager(即 nmcli)

# vim

/etc/sysconfig/network-scripts/ifcfg-ens33-----------------------------------------

变更网卡配置文件

修改后举例内容如下

TYPE="Ethernet"

BOOTPROTO="none"

IPADDR=192.168.x.-------写前三个字节(注意:x 指你机器地址),最后一个字节暂时不写,留着最后填写!

NETMASK=255.255.255.0

GATEWAY=192.168.x.2

DNS1=192.168.x.2

DEFROUTE="yes"

DEVICE="ens33"

ONBOOT="yes"

# systemctl enable network-------------------------------------启动 network 守护进程

提示执行:/sbin/chkconfig network on

# systemctl set-default multi-user.target-----------------------修改启动方式,设置默认字符界面即可

# vim

 

/etc/hosts--------------------------------------------配置文件中主机名和主机地址的映射,x 是指你的虚拟机地址

192.168.x.10 controller    controller.lab.example.com

192.168.x.11 node1 node1.lab.example.com

192.168.x.12 node2 node2.lab.example.com

192.168.x.13 node3 node3.lab.example.com

192.168.x.14 node4 node4.lab.example.com

192.168.x.15 node5 node5.lab.example.com

#systemctl isolate multi-user.target-------------------切换到字符模式

# rm -f    /root/.bash_history---------------------------清除刚刚执行的命令

# history    -c---------------------------------------------清除当前终端的所有命令

# sys-unconfig-------------------------------------- ----机器会自动关机,清除部分用户信息(比如邮箱文件,用户变量信息)

最后这条命令是做标准化模板的时候,系统给预留的,去除没有必要的信息

  1. 将模板机内存修改为 512M 后,进行克隆!注意:controller 自己调到 2G 内存即可

依次开启克隆后的节点 controller,node1,node2,node3,node4,node5,开启后手工修改 IP 地址和主机名

node1 节点举例:开机登录 root 做如下操作

vim /etc/sysconfig/network-scripts/ifcfg-ens33           //手工配置地址(x 是你的网段)

192.168.x.11

hostnamectl set-hostname node1.lab.example.com     //配置主机名

注意: 检查/etc/ssh/ssh_host*是否存在,如果存在删除掉,systemctl restart sshd(这步不是必须的,如果有问题可以尝试)

reboot                        //    必须重启!!!

重启后:ifconfig 检查 IP 地址;hostname 检查主机名;ping 检测各主机之间联通;如果没有问题可以关机,快照!

④ controller 做如下配置(如果有第三方链接工具,可使用第三方链接工具链接 controller;例如:CRT,putty 等;没有可以不用)

[root@controller ~]# ssh-keygen

// 一路回车

[root@controller ~]# ssh-copy-id node1

// 把公钥信息发送给 node1

[root@controller ~]# ssh-copy-id node2

// 把公钥信息发送给 node2

[root@controller ~]# ssh-copy-id node3

// 把公钥信息发送给 node3

[root@controller ~]# ssh-copy-id node4

// 把公钥信息发送给 node4

[root@controller ~]# ssh-copy-id node5

// 把公钥信息发送给 node5

[root@controller ~]# ssh-copy-id controller

// 复制一个公钥信息给自己

备注:创建密钥对解决系统管理层级

测试

ssh node1;exit

ssh node2;exit

ssh node3;exit

ssh node4;exit

ssh node5;exit

ssh controller;exit

⑤ controller 控制节点切换到普通用户 ansible,执行如下操作!

[root@controller ~]# su -l ansible // 使用控制节点的普通用户,所以在控制节点先切换到普通用户 [ansible@controller ~]$ ssh-keygen // 一路回车 [ansible@controller ~]# ssh-copy-id node1 // 把公钥信息发送给 node1 [ansible@controller ~]# ssh-copy-id node2 // 把公钥信息发送给 node2 [ansible@controller ~]# ssh-copy-id node3 // 把公钥信息发送给 node3 [ansible@controller ~]# ssh-copy-id node4 // 把公钥信息发送给 node4 [ansible@controller ~]# ssh-copy-id node5 // 把公钥信息发送给 node5

测试

ssh node1,sudo cat /etc/shadow     // 不会有输入密码的要求

控制节点通过 EPEL 安装 ansible

[root@controller ~]# rpm   -qa | grep ansible        // 检查控制节点是否安装了 ansible 软件包

[root@controller ~]# cat   /etc/redhat-release    // 查看下当前系统的版本

[root@controller ~]# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm -y // 安装 EPEL 软件包,安装完成后会自动配置 EPEL 软件仓库

[root@controller ~]# yum repolist

[root@controller ~]# yum install ansible -y

[root@controller ~]# ansible   --version       //CA 考的是 ansible2.7 版本,RHEL8 的 CE 考的是 ansible2.8 版本,现在用的 2.9

所有 6 台设备关机再做一次快照记录,实验即可开始!

备注:如果喜欢可以写循环 for x in {1..5};do ssh-copy-id node$x;done

// 公钥发给 5 个节点

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王某i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值