二进制部署k8s集群(1):前期准备,安装虚拟机与DNS软件bind9
前期准备工作-安装centos 7.6虚拟机 |
首先准备六台centos 7.6版本虚拟机。
六台虚拟机主机名和IP分别为:
主机名:yyee-centos-1,IP:192.168.0.101
主机名:yyee-centos-2,IP:192.168.0.102
主机名:yyee-centos-3,IP:192.168.0.103
主机名:yyee-centos-4,IP:192.168.0.104
主机名:yyee-centos-5,IP:192.168.0.105
主机名:yyee-centos-6,IP:192.168.0.106
其中 yyee-centos-1这台虚拟机用来安装GitLab、Harbor;yyee--centos-2用来安装k8s管理节点;yyee-centos-3到yyee-centos-6用来安装工作节点。
关闭防火墙,安装epel-release源,安装常用工具 |
关闭所有虚拟机的防火墙.
systemctl stop firewalld.service
所有虚拟机安装 epel-release 源
yum install -y epel-release
每台虚拟机上安装常用工具 wget,net-tools, telnet ,tree, nmap, sysstat, lrzsz, dos2unix, bind-utils
yum install -y wget net-tools telnet tree nmap sysstat lrzsz dos2unix bind-utils
在管理节点上安装DSN解析软件bind 9 |
(1) 安装bind
只需要在k8s管理节点上安装bind9软件,现在打算用 yyee-centos-2(192.168.0.102)这台主机来作为管理节点,所以只需要在 192.168.0.102这台机上安装bind9软件就可以了。
yum install -y bind
查看bind版本
rpm -qa bind
版本是bind-9.11.4
(2) 更改bind配置文件
vi /etc/named.conf
1) 将监听地址 listen-on port 53 { 127.0.0.1; }; 改成任何地址 listen-on port 53 { any; }; ,或改成本机 IP地址 listen-on port 53 { 192.168.0.102; }; ,#注意大括号前后各有一个空格。
2) 删除listen-on-v6 port 这一行配置。
3) 把allow-query { localhost; }; 改成 allow-query { any; };
4) 增加 forwarders { 192.168.0.1; }; #192.168.0.1是宿主机的默认网关(虚拟机用的桥接模式);如果虚拟机用的NAT模式,这个地方填vmware的NAT8模式的网关地址。
5) 递归模式要用recursion,下面三个参数照这样设置:
recursion yes;
dnssec-enable no;
dnssec-validation no;
(改动前)
(改动后)
验证更改后的配置文件是否有语法错误
named-checkconf /etc/named.conf
如果没有报错表示验证通过。
named.conf 配置文件参数说明:
options {}模块中更改如下: #监听任意主机 listen-on port 53 { any; }; #允许dns查询的客户机列表 allow-query { any; }; #是否允许客户机进行递归查询 recursion yes; #表示不启用安全策略,不然无法解析外网 dnssec-enable no; dnssec-validation no; #forwarder转发,当值是First,默认情况下,使服务器先查询设置的forwarders,如果它没有得到回答,服务器就会自己寻找答案。如果设定的是only,服务器就只会把请求转发到其它服务器上去。 #forwarders设定转发使用的ip地址。 forward first; forwarders { ipaddress }; 注:转发服务器的查询模式必须允许递归查询(即,recursion yes;),默认递归查询是开启的。 #引用的区域配置文件,如果注释掉需要在全局配置文件中加入区域配置项 include "/etc/named.rfc1912.zones";
(3) 区域配置文件修改
在 /etc/named.rfc1912.zones 文件的尾部追加主机域和业务域,
用host.com代表主机域,这个域名可以随便取名,比如:abc.com, k8s.com 都可以。
用od.com代表业务域,这个域名可以随便取名,比如: service.com 。
zone "host.com" IN { type master; file "host.com.zone"; allow-update { 192.168.0.102; }; }; zone "od.com" IN { type master; file "od.com.zone"; allow-update { 192.168.0.102; }; };
检查主配置文件语法
named-checkconf /etc/named.conf
没有报错表示语法检查正确, 报错的话说明配置有错误。
区域配置文件参数说明
#主机区域配置模块 zone "host.com" IN { //指定域名 type master; //区域类型。hint为根区域;master为主区域; slave为辅助区域 file "host.com.zone"; //该区域对应的区域数据配置文件名 // allow-transfer {ipaddress;}; dns主从配置的参数,允许本区域传输至特定的从DNS服务器,(可指定多个) allow-update { 192.168.0.102; }; dns主从配置的参数,允许动态更新的客户端IP地址(none表示全部禁止) }; #业务区域配置模块 zone "od.com" IN { //将网段倒过来写,格式不可变 type master; file "od.com.zone"; // allow-transfer {ipaddress;} dns主从配置的参数,允许本区域传输至特定的从DNS服务器,(可指定多个) allow-update { 192.168.0.102; }; dns主从配置的参数,允许动态更新的客户端IP地址(none表示全部禁止) };
(4) 配置主机域数据文件
vi /var/named/host.com.zone
/var/named/host.com.zone 内容为:
$ORIGIN host.com. $TTL 600 ; 10 minutes @ IN SOA dns.host.com. dnsadmin.host.com. ( 2020062401 ; serial 10800 ; refresh (3 hours) 900 ; retry (15 minutes) 604800 ; expire (1 week) 86400 ) ; minimum ( 1 day) NS dns.host.com. $TTL 60 ; 1 minutes dns A 192.168.0.102 yyee-centos-1 A 192.168.0.101 yyee-centos-2 A 192.168.0.102 yyee-centos-3 A 192.168.0.103 yyee-centos-4 A 192.168.0.104 yyee-centos-5 A 192.168.0.105 yyee-centos-6 A 192.168.0.106
注意:2020062401表示2020年6月24号第一条记录,要根据当天日期改。
注意第一句 $ORIGIN host.com.
检查主机域文件语法
cd /var/named named-checkzone host.com host.com.zone
zone host.com/IN: loaded serial 2020062401
OK
没有报错表示语法正确,报错的话说明配置有错误。
区域数据文件参数说明:
A(Address); 域名向IP地址转换的记录
PTR: IP地址向域名转换的记录
NS; 代表域内的dns服务器
MX: 代表域内的邮件服务区
CNAME: 域名的别名
SOA: 用于表示域内主DNS服务器
(5) 配置业务域数据文件
vi /var/named/od.com.zone
/var/named/od.com.zone 文件内容为:
$ORIGIN od.com. $TTL 600 ; 10 minutes @ IN SOA dns.host.com. dnsadmin.host.com. ( 2020062401 ; serial 10800 ; refresh (3 hours) 900 ; retry (15 minutes) 604800 ; expire (1 week) 86400 ) ; minimum ( 1 day) NS dns.host.com. $TTL 60 ; 1 minutes dns A 192.168.0.102
注意:2020062401表示2020年6月24号第一条记录,要根据当天日期改。
注意第一句 $ORIGIN od.com.
检查业务域文件语法
cd /var/named/ named-checkzone od.com od.com.zone
zone od.com/IN: loaded serial 2020062401
OK
没有报错表示语法正确,报错的话说明配置有错误。
(6) 启动bind9,设置开机启动。
systemctl start named
systemctl enable named
bind9启动成功。
如果启动named服务时出现 错误:
Job for named.service failed because the control process exited with error code. See "systemctl status named.service" and "journalctl -xe" for details.
说明是 /var/named/host.com.zone 或 /var/named/od.com.zone 两个配置文件有错误,请检查配置文件。
(7) 验证bind9是否启动成功。
netstat -luntp | grep 53
bind9默认用的53端口,已经启动成功。
(8) 验证 DSN是否通达
dig -t A yyee-centos-1.host.com @192.168.0.102 +short
输出域名的IP地址,表示DSN已经通了。
修改虚拟机DNS |
修改 yyee-centos-1到yyee-centos-6 虚拟机的DSN为192.168.0.102,把DNS指向bind9这台DNS服务器。
将/etc/sysconfig/network-scripts/ifcfg-ens33网络配置文件的DNS1的值改成192.168.0.102,指向bind DNS服务器。
vi /etc/sysconfig/network-scripts/ifcfg-ens33
重启网络让改动生效
systemctl restart network
查看当前DNS配置
cat /etc/resolv.conf
重启network后验证DNS是否通达,ping baidu.com 是否通达,ping 虚拟机yyee-centos-2到yyee-centos-6是否通达。
ping baidu.com ping yyee-centos-2.host.com ping yyee-centos-3.host.com ping yyee-centos-4.host.com ping yyee-centos-5.host.com ping yyee-centos-6.host.com
验证自建DSN都是通达的。
配置windows宿主机可以访问虚拟机域名 |
让windows宿主机能在浏览器中访问虚拟机的域名,需要修改windows宿主机的首先DNS。
步骤:
本地出网的网络 > 属性 > Internet协议版本4(TCP/IPv4) > 属性 > 首选 DNS服务器地址 > 改成192.168.0.102
然后在windows的cmd窗口,ping 其中一台虚拟机域名,。
ping yyee-centos-2.host.com #虚拟机域名 ping yyee-centos-3.host.com ping yyee-centos-4.host.com ping yyee-centos-5.host.com ping yyee-centos-6.host.com
ping dns.host.com #主机域
ping dns.od.com #业务域
配置后,windows也可以ping通虚拟机域名了。