云原生高级实验

server/2025/3/25 20:53:47/

任务需求:客户端通过访问 www.nihao.com 后,能够通过 dns 域名解析,访问到 nginx 服务中由 nfs 共享的首页文件,内容为:Very good, you have successfully set up the system. 各个主机能够实现时间同步,并且都开启防火墙来保证服务安装。

主机规划:

作用系统IP主机名软件
web 服务器redhat9.5192.168.72.8webnginx
nfs 服务器redhat9.5192.168.72.9nfsnfs-utils
DNS 主服务器redhat9.5192.168.72.18dns1bind
DNS 从服务器redhat9.5192.168.72.28dns2bind
客户端redhat9.5192.168.72.7clientbind-utils

1.初始环境配置

web:

hostnamectl hostname web
nmcli c modify ens160 ipv4.method manual ipv4.addresses 10.10.10.8/24 ipv4.gateway 10.10.10.2 ipv4.dns 223.5.5.5 connection.autoconnect yes
nmcli c up ens160
setenforce 0

nfs:

hostnamectl hostname nfs
nmcli c modify ens160 ipv4.method manual ipv4.addresses 10.10.10.9/24 ipv4.gateway 192.168.72.2 ipv4.dns 223.5.5.5 connection.autoconnect yes
nmcli c up ens160
setenforce 0

dns1:

hostnamectl hostname dns1
nmcli c modify ens160 ipv4.method manual ipv4.addresses 10.10.10.18/24 ipv4.gateway 10.10.10.2 ipv4.dns 223.5.5.5 connection.autoconnect yes
nmcli c up ens160
setenforce 0

dns2:

hostnamectl hostname dns2
nmcli c modify ens160  ipv4.method manual ipv4.addresses 10.10.10.28/24 ipv4.gateway 10.10.10.2 ipv4.dns 223.5.5.5 connection.autoconnect yes
nmcli c up ens160
setenforce 0

client:

hostnamectl hostname client
nmcli c modify ens160 ipv4.method manual  ipv4.addresses 10.10.10.7/24 ipv4.gateway 10.10.10.2 ipv4.dns "10.10.10.18 10.10.10.28" connection.autoconnect yes
nmcli c up ens160
setenforce 0

2.下载相关服务

web:

vim /etc/yum.repos.d/dnf.repo
[BaseOS]
name=BaseOS
baseurl=/mnt/BaseOS
gpgcheck=0
[AppStream]
name=AppStream
baseurl=/mnt/AppStream
gpgcheck=0mmount /dev/sr0 /mnt
dnf install nginx -y

nfs:

vim /etc/yum.repos.d/dnf.repo
[BaseOS]
name=BaseOS
baseurl=/mnt/BaseOS
gpgcheck=0
[AppStream]
name=AppStream
baseurl=/mnt/AppStream
gpgcheck=0mmount /dev/sr0 /mnt
dnf install nfs-utils -y 

dns1:

vim /etc/yum.repos.d/dnf.repo
[BaseOS]
name=BaseOS
baseurl=/mnt/BaseOS
gpgcheck=0
[AppStream]
name=AppStream
baseurl=/mnt/AppStream
gpgcheck=0mmount /dev/sr0 /mnt
dnf install bind -y

dns2:

vim /etc/yum.repos.d/dnf.repo
[BaseOS]
name=BaseOS
baseurl=/mnt/BaseOS
gpgcheck=0
[AppStream]
name=AppStream
baseurl=/mnt/AppStream
gpgcheck=0mmount /dev/sr0 /mnt
dnf install bind -y

client:

vim /etc/yum.repos.d/dnf.repo
[BaseOS]
name=BaseOS
baseurl=/mnt/BaseOS
gpgcheck=0
[AppStream]
name=AppStream
baseurl=/mnt/AppStream
gpgcheck=0mmount /dev/sr0 /mnt
dnf install bind-utils -y

3.配置web服务

修改配置文件

echo "welcome to nginx" > /usr/share/nginx/html/index.html firewall-cmd --permanent --add-service=httpfirewall-cmd --reload systemctl start nginx

nfs网络挂载

 dnf install -y nfs-utilsmkdir /data/nfs -pmount -t nfs 10.10.10.9:/nfs/data /data/nfsdf -hecho " write nfs" > /data/nfs/testcat /data/nfs/test vim /etc/nginx/conf.d/nfs.conf
server{server_name 10.10.10.8;root /data/nfs;access_log /var/log/nginx/access_logerror_log /var/log/nginx/error_log
}

时间同步

dnf install chrony -ysystemctl status chronydchronyc tracking chronyc sourcesvim /etc/chrony.conf 

在这里插入图片描述
在这里插入图片描述

 systemctl restart chronydchronyc sources

在这里插入图片描述

4.配置nfs服务

mkdir /nfs/data -pvim /etc/exportscat /etc/exportschmod o+w /nfs/datachmod o+w /nfs/datashowmount -e 10.10.10.9firewall-cmd --permanent --add-service=nfsfirewall-cmd --reloadsystemctl enable --now nfs-server.service 
cat /nfs/data/test 

在这里插入图片描述
在这里插入图片描述

时间同步

dnf install chrony
systemctl status chronyd
chronyc tracking 
chronyc sources
vim /etc/chrony.conf 
firewall-cmd --permanent --add-service=ntp
firewall-cmd --relaod
systemctl start chronyd.service 

在这里插入图片描述
在这里插入图片描述
5.配置dns主服务器

cat /etc/named.conf 
options {listen-on port 53 { 10.10.10.18; };directory 	"/var/named";allow-query     { any; };
};
zone "haha.com" IN {type master;file "haha.com";
};
cat /var/named/haha.com
$TTL 	1D
@ 	IN 	SOA 	@	 admin.haha.com. (0 1D 2H 3W 2D)IN 	NS 	 ns1IN 	NS 	 ns2
ns1 	IN 	A 	10.10.10.18
ns2 	IN 	A 	10.10.10.28
www 	IN 	A 	10.10.10.8

放行服务

firewall-cmd --permanent --add-service=dns
firewall-cmd --reload 

时间同步

dnf install chrony -yvim /etc/chrony.conf firewall-cmd --permanent --add-service=ntpfirewall-cmd --reload systemctl restart chronyd.service chronyc sources

在这里插入图片描述
dig 测试

dig -t NS haha.com @10.10.10.18

; <<>> DiG 9.16.23-RH <<>> -t NS haha.com @10.10.10.18 ;; global
options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status:
NOERROR, id: 39872 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2,
AUTHORITY: 0, ADDITIONAL: 3

;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1232 ; COOKIE:
d326c928a6c990070100000067d919cadf5565a60133feba (good) ;; QUESTION
SECTION: ;haha.com. IN NS

;; ANSWER SECTION: haha.com. 86400 IN NS ns2.haha.com.
haha.com. 86400 IN NS ns1.haha.com.

;; ADDITIONAL SECTION: ns1.haha.com. 86400 IN A 10.10.10.18
ns2.haha.com. 86400 IN A 10.10.10.28

6.dns从服务器

修改主配置文件

cat /etc/named.conf
options {listen-on port 53 { 10.10.10.28; };directory 	"/var/named";
};
zone "haha.com" IN {type slave;masters {10.10.10.18; };file "slaves/haha.com";
};

放行服务

firewall-cmd --permanent --add-service=dnsfirewall-cmd --reload 
systemctl enable named --now

[root@dns2 ~]# ls /var/named/slaves/
haha.com
·时间同步

dnf install chrony -yvim /etc/chrony.conf firewall-cmd --permanent --add-service=ntpfirewall-cmd --reloadsystemctl restart chronyd.service chronyc sources

[root@dns2 ~]# chronyc sources MS Name/IP address Stratum Poll
Reach LastRx Last sample
=============================================================================== ^* 10.10.10.9 3 6 17 59 -5753ns[ -89us]
+/- 135ms

7.配置客户端
时间同步

vim /etc/chrony.conf firewall-cmd --permanent --add-service=ntp
firewall-cmd --reload systemctl restart chronyd.service chronyc sources

MS Name/IP address Stratum Poll Reach LastRx Last sample

=============================================================================== ^* 10.10.10.9 3 6 17 2 -112us[ -180us]
+/- 141ms

测试客户端

nmcli c show ens160 | grep ipv4.dns

ipv4.dns: 10.10.10.18,10.10.10.28
ipv4.dns-search: – ipv4.dns-options:
– ipv4.dns-priority: 0

ping www.haha.com

PING www.haha.com (10.10.10.8) 56(84) bytes of data. 64 bytes from
10.10.10.8 (10.10.10.8): icmp_seq=1 ttl=64 time=1.32 ms 64 bytes from 10.10.10.8 (10.10.10.8): icmp_seq=2 ttl=64 time=2.29 ms 64 bytes from 10.10.10.8 (10.10.10.8): icmp_seq=3 ttl=64 time=2.46 ms


http://www.ppmy.cn/server/177164.html

相关文章

同旺科技USB to I2C 适配器 ---- 指令循环发送功能

所需设备&#xff1a; 内附链接 1、同旺科技USB to I2C 适配器 1、周期性的指令一次输入&#xff0c;即可以使用 “单次发送” 功能&#xff0c;也可以使用 “循环发送” 功能&#xff0c;大大减轻发送指令的编辑效率&#xff1b; 2、 “单次发送” 功能&#xff0c;“发送数据…

Kafka消息自定义序列化

文章目录 1. 默认序列化2.自定义序列化3.示例4.自定义解序列化器 1. 默认序列化 在网络中发送数据都是以字节的方式&#xff0c;Kafka也不例外。Apache Kafka支持用户给broker发送各种类型的消息。它可以是一个字符串、一个整数、一个数组或是其他任意的对象类型。序列化器(se…

基于Python+Ollama DeepSeek与MySQL进行数据分析探索

目录 1、前言 2、环境准备 3、本地部署 3.1、安装ollama 3.2、部署deepseek-r1模型 4、Python接入本地模型 4.1、示例代码 4.2、附加一些功能 4.3、其他的数据库 4.3.1、PostgreSQL 示例 4.3.2、SQLite 示例 5、总结 1、前言 在当今数据驱动的时代&#xff0c;数据…

开源模型应用落地-LangGraph101-多智能体协同实践(六)

一、前言 随着人工智能技术的快速发展,如何高效处理复杂任务成了 AI 系统的一大挑战。传统的线性架构在面对多轮对话和动态决策时常常显得无能为力。而 LangGraph 这种多智能体合作框架的出现,为这个问题提供了新的解决方案。 相关文章: 开源模型应用落地-LangGraph101-探索…

Java 中 PriorityQueue 的底层数据结构及相关分析

Java 中 PriorityQueue 的底层数据结构及相关分析 1. PriorityQueue 的底层数据结构 在 Java 中&#xff0c;PriorityQueue 的底层数据结构是基于堆&#xff08;Heap&#xff09;实现的二叉堆&#xff08;Binary Heap&#xff09;&#xff0c;默认使用最小堆&#xff08;Min …

MySQL-sql优化

插入数据 insert优化 批量插入 insert into tb_users values (1,cat),(2,mouse),(3,bird); 手动提交事务 因为MySQL中默认的事务提交方式为自动提交&#xff0c;所以在每次插入数据时&#xff0c;就是涉及到事务频繁地开启和关闭。所以将事务提交方式改成自动提交&#xf…

wps字符很分散

出现的问题图 alt enter开启自动换行即可解决 检查全局自动换行设置 在 WPS 表格中&#xff0c;点击 ​​“文件”​ → ​​“选项”​ → ​​“高级”​ → 确保 ​​“自动换行”​ 选项开启。 ​使用快捷键快速调整 ​启用自动换行&#xff1a;选中文本后按 ​Alt Enter…

IDEA编码实用技巧

快速注释 Ctrl / 可以将选中的代码或者光标所在的那一行变为用//注释 Ctrl Shift / 可以将选中的代码或者光标所在的那一行变为用/**/注释 移动代码 Alt Shift 上下键 移动该行代码 移动 Ctrl enter&#xff08;回车&#xff09;将光标下面的代码都往下移动一行&a…