第一天笔记

Ansible是一款开源的自动化管理工具,通过SSH协议进行无代理管理。它包括剧本、主机清单、核心模块和自定义模块等组件,支持扩展和API。在Linux环境下,如CentOS和RHEL系统中,需配置静态IP、设置主机名和时间同步,并通过yum源安装软件。文章详细介绍了如何安装和配置Ansible,以及服务器的准备工作。
摘要由CSDN通过智能技术生成

ansible是一款类unix系统中通过python所开发的自由开源的自动化管理工具,能够自动部署软件以及软件配置。是一款无代理(客户端程序)配置语法使用yaml及jinja2模板语言。

特点
1、部署简单,只需在主控端部署Ansible环境,被控端无需做任何操作;
2、默认使用SSH协议对设备进行管理;
3、主从集中化管理;
4、配置简单、功能强大、扩展性强;
5、支持API及自定义模块,可通过Python轻松扩展;
6、通过Playbooks来定制强大的配置、状态管理
7、对云计算平台、大数据都有很好的支持;
8、支持非 root 用户管理操作, 支持 sudo

Ansible系统架构
Ansible 是基于模块工作的, 本身没有批量部署的能力。 真正具有批量部署的是 Ansible 所运行的模块, Ansible只是提供一种框架。
Ansible 由以下各部分组成:

组成
• 核心引擎: 即 Ansible,执行工具;一次性或者临时执行的操作都是通过该命令进行。 
• 剧本(playbook): 定义Ansible任务的配置文件,可以将多个任务定义在一个剧本中,Ansible自动执行,剧本执行支持多个任务,可以由控制主机运行多个任务,同时对多台远程主机进行管理。
 主机清单(host inventory): 定义Ansible管理的主机策略,默认是在Ansible的hosts配置文件中定义被管节点
• 核心模块(core modules ): 这些都是Ansible自带的模块。 
• 自定义模块(custom modules): 如果核心模块不足以完成某种功能,可以添加自定义模块。 
• 插件(plugins): 完成模块功能的补充,借助于插件完成记录日志,邮件等功能。 
• 连接插件(connectior plugins) : Ansible 基于连接插件连接到各个主机上,负责和被管节点实现通信。 
Ansible作用对象
Ansible的作用对象,不仅是Linux和非Linux操作系统的主机,同样也可以作用于各类公/私有云、商业/非商业设备的网络设施


 使用者使用ansible或ansible-playbook(会额外读取playbook文件)时,在服务器终端输入ansible的ad-hoc命令集或playbook后,ansible会遵循预先编排的规则将playbooks逐条拆解为play,再将play组织成ansible可识别的任务(task)。随后调用任务涉及的所有模块(module)和插件(plugin),根据inventory中定义的主机列表通过ssh将任务集以临时文件或命令的形式传输到远程客户端执行并返回执行结果,如果临时文件执行完毕则自动删除.

Linux搭建服务器的准备工作
操作环境 : 创建完虚拟机,安装命令行界面的linux操作系统(centos8,rocky8,rhel8)

三台虚拟机 (RHEL8)

网络设置 :在NAT模式下,配置至少一个可上网的静态IP

写好yum源(本地源,网络源)

安装好相应的常用工具 :vim*,netstat==ss,bash-completion 主机重启后支持tab自动补齐

​ net-tools-

让你的系统时间可以自动根据时间服务器进行同步

做快照

角色    主机名    ip地址    组名
控制主机    server.example.com    192.168.10.100    server
受控主机/被管节点    node1.example.com    192.168.10.111    node1
受控主机/被管节点    node2.example.com    192.168.10.222    node2

两台图形化主机server     node2
1.需要保准三台主机能够互相通信。设置同一种网络模式(nat)
2.配置静态ip地址
[root@localhost ~]# nmcli connection modify ens160  ipv4.addresses  192.168.10.100/24
[root@localhost ~]# nmcli connection modify ens160  ipv4.gateway 192.168.10.2 ipv4.dns 192.168.10.2 ipv4.method  manual connection.autoconnect yes
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens160 
[root@localhost ~]# nmcli connection up ens160 
server--192.168.10.100            node2---192.168.10.222
3.更改主机名 
hostnamectl set-hostname server.exmaple.com
hostnamectl set-hostname node2.example.com
4.更改时间
timedatectl set-timezone Asia/Shanghai 
node1
1.需要保准三台主机能够互相通信。设置同一种网络模式(nat)
2.配置静态ip地址
[root@localhost ~]# nmcli connection modify ens160  ipv4.addresses  192.168.10.111/24
[root@localhost ~]# nmcli connection modify ens160  ipv4.gateway 192.168.10.2 ipv4.dns 192.168.10.2 ipv4.method  manual connection.autoconnect yes
[root@localhost ~]# nmcli connection up ens160 
node---192.168.10.111
3.更改主机名 
hostnamectl set-hostname node1.example.com
4.更改时间
timedatectl set-timezone Asia/Shanghai 
5.安装常用软件工具
配置yum源安装常用软件工具
#yum install vim-enhanced  net-tools bash-completion   -y
#reboot

安装ansible
#cd /etc/yum.repos.d
删除多余的(yum配置)源文件
[root@server yum.repos.d]# ll
-rw-r–r–. 1 root root 358 Dec 30 10:25 redhat.repo

注意配置centos8基础源
(1)vim /etc/yum.repos.d/base.repo
[AppStream]
name=AppStream
baseurl=https://mirrors.aliyun.com/centos/8-stream/AppStream/x86_64/os/
gpgcheck=0
[BaseOS]
name=AppStream
baseurl=https://mirrors.aliyun.com/centos/8-stream/BaseOS/x86_64/os/
gpgcheck=0

配置epel
(2)#yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
[root@server yum.repos.d]# ll
total 28
-rw-r–r–. 1 root root 213 Dec 30 15:36 base.repo
-rw-r–r–. 1 root root 1692 Dec 30 15:32 epel-modular.repo
-rw-r–r–. 1 root root 1326 Dec 30 15:32 epel.repo
-rw-r–r–. 1 root root 1791 Dec 30 15:32 epel-testing-modular.repo
-rw-r–r–. 1 root root 1425 Dec 30 15:32 epel-testing.repo
-rw-r–r–. 1 root root 358 Dec 30 10:25 redhat.repo
(3)#sed -i ‘s|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|’
/etc/yum.repos.d/epel*
(4)#sed -i ‘s|^metalink|#metalink|’ /etc/yum.repos.d/epel*
(5)#yum install ansible -y
(6)#ansible --version
注意

1.需要保准三台主机能够互相通信。设置同一种网络模式(nat)
2.配置静态ip地址
[root@localhost ~]# nmcli connection modify ens160  ipv4.addresses  192.168.10.100/24
[root@localhost ~]# nmcli connection modify ens160  ipv4.gateway 192.168.10.2 ipv4.dns 192.168.10.2 ipv4.method  manual connection.autoconnect yes
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens160 
[root@localhost ~]# nmcli connection up ens160 
server--192.168.10.100            node2---192.168.10.222
3.更改主机名 
hostnamectl set-hostname server.exmaple.com
hostnamectl set-hostname node2.example.com
4.更改时间
timedatectl set-timezone Asia/Shanghai 命令行
node1
1.需要保准三台主机能够互相通信。设置同一种网络模式(nat)
2.配置静态ip地址
[root@localhost ~]# nmcli connection modify ens160  ipv4.addresses  192.168.10.111/24
[root@localhost ~]# nmcli connection modify ens160  ipv4.gateway 192.168.10.2 ipv4.dns 192.168.10.2 ipv4.method  manual connection.autoconnect yes
[root@localhost ~]# nmcli connection up ens160 
node---192.168.10.111
3.更改主机名 
hostnamectl set-hostname node1.example.com
4.更改时间
timedatectl set-timezone Asia/Shanghai 
5.安装常用软件工具
配置yum源安装常用软件工具
#yum install vim-enhanced  net-tools bash-completion   -y
#reboot

配置centos基础源

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo

或者

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo

配置epel

yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm

sed -i 's|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|'

/etc/yum.repos.d/epel*
sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值