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. CEH v8~v11 Module Slides 和 Lab Manual 下载

    课程内容 CEH v8 01 Introduction to Ethical Hacking CEH v8 02 Footprinting and Reconnaissance CEH v8 03 S ...

  2. salesforce零基础学习(一百一十一)custom metadata type数据获取方式更新

    本篇参考: https://developer.salesforce.com/docs/atlas.en-us.234.0.apexref.meta/apexref/apex_methods_syst ...

  3. Java编程中标识符注意点以及注释

    标识符注意点 所有的标识符都应该以字母(A-Z或者a-z),美元符($),或者下划线(_)开始 首字符之后可以是字母(A-Z或者a-z),美元符($),下划线(_)或数 字的任何字符组合 不能使用关键 ...

  4. 详解git fetch与git pull的区别(实操)

    感谢原文作者:R-H-R 原文链接:https://blog.csdn.net/riddle1981/article/details/74938111 git fetch和git pull都可以将远端 ...

  5. MAC OS 常用快捷键

    删除文件或文件夹 commond + delete 复制文件或文件夹 commond + c 粘贴文件或文件夹 commond + v

  6. ARC基本概念

    1.什么是ARC Automatic Reference Counting,自动引用计数,即ARC,可以说是WWDC2011和iOS5所引入 的最大的变革和最激动人心的变化.ARC是新的LLVM 3. ...

  7. SpringAOP/切面编程示例

    原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11833954.html Spring AOP/切面编程实例和一些注意事项, 主要是利用注解来实 ...

  8. 它来了,那个最帅的男人来了 Linux常用命令精华讲解 中部

    Linux 相对于上部,今天这些内容有点干巴 -ls         列表显示目录内容  -alias   设置别名 -du        统计目录及文件空间占用情况 -mkdir   创建新目录 - ...

  9. linux_5

    1 简述osi七层模型和TCP/IP五层模型 2 总结描述TCP三次握手四次挥手 TCP是一种可靠的,面向连接的全双工传输层协议. TCP连接的建立是一个三次握手的过程.如图所示: 第一次握手:主机A ...

  10. termux vim 配置 自动补全 遇到的问题

    // 自动不全需要安装 pkg install proot -y // 用proot可以为手机没有root的用户来模拟一个root的环境,这里主要是经典的 Linux 文件系统布局上的模拟. //执行 ...