Linux系统综合配置:yum源设置、逻辑卷制作与Ansible(自动化运维)环境搭建及ansible-vault加密配置

ops/2024/12/15 4:59:56/

前言:这里是生产环境红帽系统,如果是别的系统,本地源的配置方法不一样。

一、主节点服务器Redhat8 配置使用阿里源:

备份:sudo /etc/yum.repos.d/CentOS-Base.repo /opt/yum/
下载新的CentOS-Base.repo 到 /etc/yum.repos.d/ (这里用的CentOS 8.0)
命令:sudo wget -O /etc/yum.repos.d/redhat.repo http://mirrors.aliyun.com/repo/Centos-8.repo
清除缓存,生成缓存:yum clean all
生存缓存:yum makecache

二、各节点服务器创建lvm逻辑卷组:

1.初始化磁盘为物理卷(PV)
命令:sudo pvcreate /dev/vdb
2.创建卷组(VG)
命令:sudo vgcreate db_vg /dev/vdb
3.创建逻辑卷(LV)
命令:sudo lvcreate -l 100%FREE -n db_lv db_vg
4.格式化逻辑卷为 XFS
命令:sudo mkfs.xfs /dev/db_vg/db_lv
5.挂载逻辑卷到 /db

命令:sudo mkdir -p /db
命令:sudo mount /dev/db_vg/db_lv /db

6.配置自动挂载(可选)
命令:blkid /dev/mapper/db_vg-db_lv

节点1结果:UUID="fdc104f5-......01a7"
节点2结果:UUID="8ccff9a4-......44e8" 
节点3结果:UUID="835b5373-......c851"

命令:sudo vim /etc/fstab

节点1添加:UUID=fdc104f5-......01a7 /db xfs defaults 0 2
节点2添加:UUID=8ccff9a4-......44e8 /db xfs defaults 0 2
节点3添加:UUID=835b5373-......c851 /db xfs defaults 0 2


注意以上结果根据自己当前服务器具体的信息来配置

7.每个节点重启sudo reboot验证挂载
命令:df -h | grep /db

ansible_44">三、安装ansible

命令:sudo dnf update
命令:sudo dnf install python3
查看版本:python3 -V


命令:sudo dnf install python3-pip

命令:pip3 install ansible --user

命令:sudo systemctl status sshd

四、配置免密

主节点24上生成密钥
ssh-keygen -t rsa
一路回车执行

向主机分发公钥
ssh-copy-id -i ~/.ssh/id_rsa.pub root@节点1的ip
ssh-copy-id -i ~/.ssh/id_rsa.pub dfuser@节点2的ip
ssh-copy-id -i ~/.ssh/id_rsa.pub dfuser@节点3的ip

五、验证

在安装ansible环境服务器上输入命令:
ansible all -m ping
如果有各节点的返回信息,那就说明环境部署成功

ansiblevault__76">六、配置ansible-vault 加密

生产环境中考虑到安全,需要配置vault加密

第一步:配置host文件

vim /etc/ansible/hosts

[项目名1]
项目1下所有ip
10.0.0.1
......[项目名2]
项目2下所有ip
10.0.0.100
......

ansiblevault_92">第二步:编辑secrets.yml,通过ansible-vault加密密码文件

1、创建secrets.yml

当使用以下命令创建一个加密的Ansible Vault文件时,Ansible会提示你输入一个密码。这个密码将用于加密和解密secrets.yml文件,确保文件中的敏感信息(如密码、密钥等)安全
ansible-vault create secrets.yml

2、编辑 secrets.yml

ansible-vault edit secrets.yml
提示:${passwd}是实际服务器密码,根据实际情况修改
添加以下信息后保存

项目名1_password: '${passwd}'
项目名2_password: '${passwd}'
......

第三步:执行python脚本范例

ansible脚本:test.yml

---
- name: 项目1hosts: 项目1user: 普通用户# 引用配置文件vars_files:- "secrets.yml"# 设置变量vars:ansible_ssh_pass: "{{ lookup('vars', '项目1_password') }}"ansible_become_pass: "{{ lookup('vars', '项目1_password') }}"tasks:- name: just testbecome: yesbecome_user: rootbecome_method: sudoshell: |echo "PermitRootLogin no" >> /etc/ssh/sshd_configsystemctl restart sshd
- name: 项目2hosts: 项目2user: 普通用户vars_files:- "secrets.yml"vars:ansible_ssh_pass: "{{ lookup('vars', '项目2_password') }}"ansible_become_pass: "{{ lookup('vars', '项目2_password') }}"tasks:- name: just testbecome: yesbecome_user: rootbecome_method: sudoshell: |echo "PermitRootLogin no" >> /etc/ssh/sshd_configsystemctl restart sshd
- name: 更多项目hosts: 更多项目user: 普通用户vars_files:- "secrets.yml"vars:ansible_ssh_pass: "{{ lookup('vars', '更多项目password') }}"ansible_become_pass: "{{ lookup('vars', '更多项目_password') }}"tasks:- name: just testbecome: yesbecome_user: rootbecome_method: sudoshell: |echo "PermitRootLogin no" >> /etc/ssh/sshd_configsystemctl restart sshd

执行脚本
ansible-playbook -i /etc/ansible/hosts 3.yml --ask-vault-pass -v
-i 指定host文件 --ask-vault-pass 输入secrets.yml的密码,-v 输出执行结果

最后即兴一首诗总结下:

《Linux 之景》
Linux世界如画卷,技术之美映眼帘。
Yum源似清泉涌,逻辑卷展新景观。
Ansible境如春日,加密守护意绵绵。
科技风景无限好,探索之路永向前。

http://www.ppmy.cn/ops/142007.html

相关文章

微信小程序做电子签名功能

文章目录 最近需求要做就记录一下。 人狠话不多&#xff0c;直接上功能&#xff1a; 直接搂代码吧,复制过去就可以用&#xff0c;有其他需求自己改吧改吧。 signature.wxml <!-- 电子签名页面 --> <custom-navbar title"电子签名"show-home"{{fals…

python 将数据保存到现有的Excel文件的新工作表

out_file ‘query.xlsx’ df1 pd.DataFrame(out_data) 若直接写入&#xff1a; df1.to_excel(out_file, indexFalse, sheet_name‘v5v7’) # 将第二个DataFrame保存到现有的Excel文件的新工作表 with pd.ExcelWriter(out_file, engine‘openpyxl’, mode‘a’) as writer:…

音视频入门基础:MPEG2-TS专题(16)——PMT简介

一、引言 PMT&#xff08;Program Map Table&#xff09;与PAT表成对出现&#xff0c;其PID由PAT表给出。通过PMT表可以得到该节目包含的视频和音频信息&#xff0c;从而找到音视频流&#xff1a; 二、PMT表中的属性 根据《T-REC-H.222.0-202106-S!!PDF-E.pdf》第79页&#x…

Environment Modules安装配置

Environment Modules安装配置 Environment Modules是一款用来管理计算机软件环境的软件&#xff0c;通过简单的命令来控制计算机环境变量。本文接受该软件的安装和配置方法 系统&#xff1a; Linux OpenSUSE 15.6 软件版本&#xff1a; modules 5.5 依赖&#xff1a; gcc 7.5…

生产慎用之调试日志对空间矢量数据批量插入的性能影响-以MybatisPlus为例

目录 前言 一、一些缘由 1、性能分析 二、插入方式调整 1、批量插入的实现 2、MP的批量插入实现 3、日志的配置 三、默认处理方式 1、基础程序代码 2、执行情况 四、提升调试日志等级 1、在logback中进行设置 2、提升后的效果 五、总结 前言 在现代软件开发中&#xff0c;性能优…

Python跳动的爱心

系列文章 序号直达链接表白系列1Python制作一个无法拒绝的表白界面2Python满屏飘字表白代码3Python无限弹窗满屏表白代码4Python李峋同款可写字版跳动的爱心5Python流星雨代码6Python漂浮爱心代码7Python爱心光波代码8Python普通的玫瑰花代码9Python炫酷的玫瑰花代码10Python多…

ESP32-S3模组上跑通ES8388(28)

接前一篇文章:ESP32-S3模组上跑通ES8388(27) 二、利用ESP-ADF操作ES8388 2. 详细解析 上一回解析完了es8388_init函数中的第10段代码,本回继续往下解析。为了便于理解和回顾,再次贴出es8388_init函数源码,在components\audio_hal\driver\es8388\es8388.c中,如下: ​…

Linux系统挂载exfat格式U盘教程,触觉智能RK3562开发板演示

本文介绍Linux系统&#xff08;Ubuntu/Debian通用&#xff09;挂载exfat格式U盘的方法&#xff0c;触觉智能RK3562开发板演示&#xff0c;搭载4核A53处理器&#xff0c;主频高达2.0GHz&#xff1b;内置独立1Tops算力NPU&#xff0c;可应用于物联网网关、平板电脑、智能家居、教…