2、安装DNS服务

为什么要安装bind9?

K8S中,使用Ingress进行7层流量调度,需要使用域名,进行7层调度。

以前使用绑定host的方法,来进行域名和IP地址的解析。

在K8S里,没有好的办法给容器绑定host,必须自建DNS,让容器能够服从DNS解析。

DNS,就是把域名和IP地址绑定。

11主机上操作

2.1 安装bind9

[root@cfzx55-11 ~]# yum install bind -y
[root@cfzx55-11 ~]# rpm -qa bind
bind-9.11.4-26.P2.el7_9.9.x86_64
[root@cfzx55-11 ~]# rpm -qc bind
/etc/logrotate.d/named
/etc/named.conf
/etc/named.iscdlv.key
/etc/named.rfc1912.zones
/etc/named.root.key
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/var/named/named.ca
/var/named/named.empty
/var/named/named.localhost
/var/named/named.loopback
[root@cfzx55-11 ~]# rpm -ql bind # 查看bind安装时执行的脚本
[root@cfzx55-11 ~]# rpm -q --scripts bind
preinstall scriptlet (using /bin/sh):
if [ "$1" -eq 1 ]; then
/usr/sbin/groupadd -g 25 -f -r named >/dev/null 2>&1 || :;
/usr/sbin/useradd -u 25 -r -N -M -g named -s /sbin/nologin -d /var/named -c Named named >/dev/null 2>&1 || :;
fi;
:;
......
[root@cfzx55-11 ~]#

说明:bind安装后,自动创建了named用户。

2.2 修改主配置文件

编辑/etc/named.conf文件,修改如下部分。

listen-on port 53 配置为本机的IP地址。

allow-query 允许任意主机查询。

forwarders 虚拟机的网关,可以访问外网。

[root@cfzx55-11 ~]# vim /etc/named.conf
options {
listen-on port 53 { 10.211.55.11; };
allow-query { any; };
forwarders { 10.211.55.1; }
recursion yes;
dnssec-enable no;
dnssec-validation no;
# 语法检查
[root@cfzx55-11 ~]# named-checkconf

2.3 区域配置文件

配置主机域(host.com)和业务域(od.com)。

编辑/etc/named.rfc1912.zones文件,在文件最后增加下面内容。

file:域配置文件名称。

allow-update:填写DNS服务器的IP地址,允许dns服务器更新。

zone "host.com" IN {
type master;
file "host.com.zone";
allow-update { 10.211.55.11; };
}; zone "od.com" IN {
type master;
file "od.com.zone";
allow-update { 10.211.55.11; };
};

生产上规划主机名,和业务没有任何关系。不会使用mysql01,hadoop01等等名称。

主机名:地域+IP后两位

主机域:用比较好记忆的,没有实际意义的名称,如host.com

业务域:od.com

新建文件:/var/named/host.com.zone,文件内容如下:

$ORIGIN host.com.
$TTL 600 ;
@ IN SOA dns.host.com. dnsadmin.host.com. (
2022031201 ; serial
10800 ; refresh
900 ; retry
604800 ; expire
86400 ) ; minimum
NS dns.host.com.
$TTL 60 ;
dns A 10.211.55.11
CFZX55-11 A 10.211.55.11
CFZX55-12 A 10.211.55.12
CFZX55-21 A 10.211.55.21
CFZX55-22 A 10.211.55.22
CFZX55-200 A 10.211.55.200

新建文件:/var/named/od.com.zone,文件内容如下:

$ORIGIN od.com.
$TTL 600 ;
@ IN SOA dns.od.com. dnsadmin.od.com. (
2022031201 ; serial
10800 ; refresh
900 ; retry
604800 ; expire
86400 ) ; minimum
NS dns.od.com.
$TTL 60 ;
dns A 10.211.55.11

语法检查

[root@cfzx55-11 ~]# named-checkconf
[root@cfzx55-11 ~]# named-checkzone host.com /var/named/host.com.zone
zone host.com/IN: loaded serial 2022031201
OK
[root@cfzx55-11 ~]# named-checkzone od.com /var/named/od.com.zonne
zone od.com/IN: loaded serial 2022031201
OK
[root@cfzx55-11 ~]#

2.4 启动named服务

# 启动服务
[root@hdss7-11 named]# systemctl start named
[root@hdss7-11 named]# systemctl status named
# 开启自启动
[root@cfzx55-11 ~]# systemctl enable named

查看网络监听端口

[root@hdss7-11 named]# netstat -luntp | grep 53
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 18374/named
tcp 0 0 10.211.55.11:53 0.0.0.0:* LISTEN 18374/named
udp 0 0 10.211.55.11:53 0.0.0.0:* 18374/named
[root@hdss7-11 named]#

53 端口被监听,说明dns服务正常启动。

2.5 域名解析检查

用dig工具检查域名解析

[root@cfzx55-11 ~]# dig -t A cfzx55-11.host.com @10.211.55.11 +short
10.211.55.11
[root@cfzx55-11 ~]# dig -t A cfzx55-12.host.com @10.211.55.11 +short
10.211.55.12
[root@cfzx55-11 ~]# dig -t A cfzx55-21.host.com @10.211.55.11 +short
10.211.55.21
[root@cfzx55-11 ~]# dig -t A cfzx55-22.host.com @10.211.55.11 +short
10.211.55.22
[root@cfzx55-11 ~]# dig -t A cfzx55-200.host.com @10.211.55.11 +short
10.211.55.200
[root@cfzx55-11 ~]# dig -t A www.baidu.com @10.211.55.11 +short
www.a.shifen.com.
110.242.68.4
110.242.68.3
[root@cfzx55-11 ~]#

以上能正常解析,说明DNS服务以及能正常解析了。

2.6 配置客户端

让客户端能正常使用DNS服务。

一种方法上直接修改/etc/resolv.conf文件,另一种方法是修改网络配置文件中的DNS1,修改成DNS服务器地址。本例修改网络配置文件。

[root@cfzx55-11 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DNS1=10.211.55.11 [root@cfzx55-11 ~]# systemctl restart network

在11主机上的resolv.conf文件中,添加search host.com

重启网卡后,系统会自动添加。

[root@hdss7-11 named]# cat /etc/resolv.conf
# Generated by NetworkManager
search host.com
nameserver 10.211.55.11

其余4台机器都做相应的修改。

这样就可以使用短域名了(直接使用主机名称)

[root@hdss7-11 named]# ping hdss7-200
PING HDSS7-200.host.com (10.211.55.200) 56(84) bytes of data.
64 bytes from 10.211.55.200 (10.211.55.200): icmp_seq=1 ttl=64 time=20.3 ms
64 bytes from 10.211.55.200 (10.211.55.200): icmp_seq=2 ttl=64 time=2.00 ms

一般来说,只需要加主机的search域,主机域使用短域名,业务域不使用短域名,因为业务域太多了,而且不同业务域中会有重名的主机。

二进制部署1.23.4版本k8s集群-2-安装DNS服务的更多相关文章

  1. 二进制部署1.23.4版本k8s集群-5-部署Master节点服务

    1.安装Docker 在21.22.200三台机器上安装Docker.安装命令: 在21.22.200三台主机上部署Docker. ~]# curl -fsSL https://get.docker. ...

  2. 二进制部署1.23.4版本k8s集群-6-部署Node节点服务

    本例中Master节点和Node节点部署在同一台主机上. 1 部署kubelet 1.1 集群规划 主机名 角色 IP CFZX55-21.host.com kubelet 10.211.55.21 ...

  3. 二进制部署1.23.4版本k8s集群-1-系统安装及环境准备

    1. 致谢 这篇文章参考了老男孩王导的视频,在此表示感谢和致敬! 2. 安装CentOS操作系统 系统镜像:CentOS-7-x86_64-DVD-2009.iso 安装过程略. 3. 环境准备 3. ...

  4. 1.还不会部署高可用的kubernetes集群?看我手把手教你使用二进制部署v1.23.6的K8S集群实践(上)

    公众号关注「WeiyiGeek」 设为「特别关注」,每天带你玩转网络安全运维.应用开发.物联网IOT学习! 本章目录: 0x00 前言简述 0x01 环境准备 主机规划 软件版本 网络规划 0x02 ...

  5. Istio(二):在Kubernetes(k8s)集群上安装部署istio1.14

    目录 一.模块概览 二.系统环境 三.安装istio 3.1 使用 Istioctl 安装 3.2 使用 Istio Operator 安装 3.3 生产部署情况如何? 3.4 平台安装指南 四.Ge ...

  6. 使用kubeadm部署一套高可用k8s集群

    使用kubeadm部署一套高可用k8s集群 有疑问的地方可以看官方文档 准备环境 我的机器如下, 系统为ubuntu20.04, kubernetes版本1.21.0 hostname IP 硬件配置 ...

  7. k8s 集群管理和微服务 适合做啥

    k8s 集群管理和微服务 适合做啥 都知道k8s是集群 适合微服务 有很多教程 但你可以先了解他能干啥 traefix 是负载均衡工具 k8s 适合部署无状态依赖的微服务 可以按需求开启多个微服务 管 ...

  8. k8s第二回之k8s集群的安装

    1. k8s集群的安装 目录 1. k8s集群的安装 1.架构: 2.环境准备 3.master节点安装etcd 4. master节点安装kubernetes 5.node节点安装kubernete ...

  9. 基于 kubeadm 部署单控制平面的 k8s 集群

    单控制平面不符合 HA 要求,但用于开发/测试环境不会有任何问题,如果资源足够的话(10台以上服务器,3台用于APIserver.3台用于 etcd 存储.至少3台用于工作节点.1台作为负载均衡),可 ...

随机推荐

  1. Luogu P1314 [NOIP2011 提高组] 聪明的质监员

    P1314 [NOIP2011 提高组] 聪明的质监员 题意 题目描述 给定\(n\)个物品,给定每个物品的 重量 \(w_i\) 和 价值 \(v_i\) 给定一个标准值 \(s\) 以及一个参数 ...

  2. Pycharm 实现保存时修正格式(format_on_save)

    前言 VSCODE是近年来备受欢迎的轻量级代码编辑器,有一项非常实用功能--保存时修正代码格式(formatonsave) Pycharm作为一款IDE,虽然本身不具备此功能,但通过几个并不复杂的设置 ...

  3. 使用VScode编写Markdown的一些使用技巧

  4. XML 中如何输入回车换行

    XML 中如何输入回车换行? XML 特殊字符: 下面的字符在 [XML]中被定义为 空白(whitespace)字符: 空格 ( ) Tab ( ) 回车 ( ) 换行 ( ) XML 中如何输入回 ...

  5. 清除git中缓存的凭证(用户名及密码)

    今天刚接触Git,还有Gitstack,然后在克隆Gitstack服务器上的仓库时出现了一直用户身份识别失败问题,找了一些大佬的文章才知道原因在于密码输入错误过多.那么如何重新输入呢? 需要清空本地的 ...

  6. 【发点感慨】我的cnblogs的文章被爬到了别的网站,阅读量比在cnblogs上还要高

    近期我写了挺多VictoriaMetrics的文章,在搜索相关文章的时候发现,我的文章被别的网站爬去了: 写写技术文章就是无偿分享给别人看的,越多人看到越多人受益,这一点没毛病. 但是: 爬了别人的文 ...

  7. .NET6: 开发基于WPF的摩登三维工业软件 (2)

    在<.NET6: 开发基于WPF的摩登三维工业软件 (1)>我们创建了一个"毛坯"界面,距离摩登还差一段距离.本文将对上一阶段的成果进行深化,实现当下流行的暗黑风格UI ...

  8. Vue3.X安装

    1.查看node.js和npm版本 $ node -v //建议v10以上版本 $ npm -v 2.若已安装了2.x的旧版本,需要先卸载 npm uninstall vue-cli -g 3.安装淘 ...

  9. https校验问题

    一般会报SSL问题:解决办法参考 http://blog.csdn.net/a506681571/article/details/78284589 # 设置未经允许验证的SSL方法,只需运行一次便可 ...

  10. suse 12 配置ip,dns,网关,hostname,ssh以及关闭防火墙

    suse-linux:~ # cat /etc/issue Welcome to SUSE Linux Enterprise Server 12 SP3 (x86_64) - Kernel \r (\ ...