云平台架构图
公有云配置
区域: 同一个区域中的云主机是可以互相连通的,不通区域云主机是不能使用内部网络互相通信的
选择离自己比较近的区域,可以减少网络延时卡顿
华为云yum仓库:https://repo.huaweicloud.com/rockylinux/
跳板机配置
安装ansible管理主机
[root@ecs-proxy ~]# dnf install -y ansible-core
[root@ecs-proxy ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
... ...
[root@ecs-proxy ~]# chmod 0400 /root/.ssh/id_rsa
[root@ecs-proxy ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.1.125
优化系统配置
[root@ecs-proxy ~]# systemctl stop atd kdump nis-domainname
[root@ecs-proxy ~]# dnf remove -y postfix at audit kexec-tools firewalld-* *-firmware unbound-libs
postfix:postfix是一个邮件传输代理软件包,用于发送和接收电子邮件。
at audit:at是Linux系统中的一个工具,用于在系统启动时运行指定的命令或脚本。
kexec-tools:kexec-tools是一个工具集,用于在不重新启动内核的情况下执行新的内核映像。
firewalld-*:firewalld是一个防火墙管理工具,用于控制网络流量。
*-firmware:这个包包含了各种固件文件,例如BIOS、UEFI固件等。
unbound-libs:unbound是一个开源的DNS服务器软件包,提供了一些库文件。
[root@ecs-proxy ~]# dnf install -y rsync tree bash-completion lrzsz tar iptables patch ipset time
rsync:用于在本地和远程计算机之间同步文件。
tree:用于显示目录树。
bash-completion:为bash提供自动补全功能。
lrzsz:用于在Linux和其他操作系统之间传输ZIP文件。
tar:用于创建、修改和提取tar归档文件。
iptables:用于配置Linux内核防火墙。
patch:用于应用补丁文件到系统上。
ipset:用于管理IP数据包集合。
time:用于显示当前时间和日期。
[root@ecs-proxy ~]# echo 'ListenAddress 0.0.0.0' >>/etc/ssh/sshd_config
[root@ecs-proxy ~]# sed -ri 's,^(OPTIONS).*,\1="-4u chrony",' /etc/sysconfig/chronyd
[root@ecs-proxy ~]# sed 's,^manage_etc_hosts:.*,# &,' -i /etc/cloud/cloud.cfg
[root@ecs-proxy ~]# vim /etc/hosts
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
[root@ecs-proxy ~]# reboot
Yum仓库图例
反向代理Yum仓库
[root@ecs-proxy ~]# dnf install -y nginx
[root@ecs-proxy ~]# cat >/etc/nginx/default.d/dnf_proxy.conf <<'EOF'
resolver 100.125.1.250 100.125.129.250 valid=5 ipv6=off;
location ~ ^/rockylinux/(.*)$ {
proxy_pass https://repo.huaweicloud.com/rockylinux/$1;
}
EOF
[root@ecs-proxy ~]# systemctl enable --now nginx
自定义Yum仓库
[root@ecs-proxy ~]# dnf install -y createrepo
[root@ecs-proxy ~]# mkdir -p /var/localrepo
[root@ecs-proxy ~]# createrepo --update /var/localrepo
[root@ecs-proxy ~]# ln -s /var/localrepo /usr/share/nginx/html/
模板配置
配置Yum客户端
[root@ecs-host ~]# rm -f /etc/yum.repos.d/{epel,Rocky-[!ABE]}*
[root@ecs-host ~]# sed -ri 's,https://repo.huaweicloud.com,http://192.168.1.252,' /etc/yum.repos.d/*.repo
[root@ecs-host ~]# cat >/etc/yum.repos.d/local.repo<<EOF
[local_repo]
name=Rocky Linux $releasever - Localrepo
baseurl=http://192.168.1.252/localrepo
enabled=1
gpgcheck=0
EOF
[root@ecs-host ~]# dnf makecache
Rocky Linux 8 - AppStream 187 kB/s | 4.8 kB 00:00
Rocky Linux 8 - BaseOS 172 kB/s | 4.3 kB 00:00
Rocky Linux 8 - Extras 105 kB/s | 3.5 kB 00:00
Rocky Linux 8 - Localrepo 2.9 MB/s | 3.0 kB 00:00
Metadata cache created.
优化系统配置
[root@ecs-proxy ~]# systemctl stop atd kdump nis-domainname
[root@ecs-proxy ~]# dnf remove -y postfix at audit kexec-tools firewalld-* *-firmware unbound-libs
[root@ecs-proxy ~]# dnf install -y rsync tree bash-completion lrzsz tar iptables patch ipset time
[root@ecs-proxy ~]# echo 'ListenAddress 0.0.0.0' >>/etc/ssh/sshd_config
[root@ecs-proxy ~]# sed -ri 's,^(OPTIONS).*,\1="-4u chrony",' /etc/sysconfig/chronyd
[root@ecs-proxy ~]# sed 's,^manage_etc_hosts:.*,# &,' -i /etc/cloud/cloud.cfg
[root@ecs-proxy ~]# vim /etc/hosts
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
[root@ecs-proxy ~]# dnf clean all
[root@ecs-host ~]# poweroff
关机以后把主机系统盘制作为模板
上传软件包
# 拷贝本阶段所有软件包到跳板机上
[root@localhost ~]# rsync -avXSH linux-soft/s4 跳板机公网IP:/root/