农村四月闲人少,勤学苦攻把名扬。这篇文章主要讲述#yyds干货盘点#k8s知识进阶知识,使用二进制安装包安装k8s的环境准备相关的知识,希望能为你提供帮助。
在进行集群学习之前,我们先准备虚拟机环境,我们这次使用 vagran
来管理虚拟机,如果你电脑上还没有 vagrant 的环境,可以参考这篇文章https://blog.jkdev.cn/index.php/archives/335/
1. 启动虚拟机在一个工作目录中创建 Vagrantfile
文件,添加以下内容
Vagrant.configure("2") do |config|
config.vm.box = "centos/7"
# kb11
config.vm.define "kb11" do |kb11|
kb11.vm.network "private_network", ip: "10.4.7.11"
kb11.vm.hostname = "kb11"
# 指定核心数和内存
config.vm.provider "virtualbox" do |v|
v.memory = 2048
v.cpus = 2
end
end
# kb12
config.vm.define "kb12" do |kb12|
kb12.vm.network "private_network", ip: "10.4.7.12"
kb12.vm.hostname = "kb12"
# 指定核心数和内存
config.vm.provider "virtualbox" do |v|
v.memory = 2048
v.cpus = 2
end
end
# kb21
config.vm.define "kb21" do |kb21|
kb21.vm.network "private_network", ip: "10.4.7.21"
kb21.vm.hostname = "kb21"
# 指定核心数和内存
config.vm.provider "virtualbox" do |v|
v.memory = 2048
v.cpus = 2
end
end
# kb22
config.vm.define "kb22" do |kb22|
kb22.vm.network "private_network", ip: "10.4.7.22"
kb22.vm.hostname = "kb22"
# 指定核心数和内存
config.vm.provider "virtualbox" do |v|
v.memory = 2048
v.cpus = 2
end
end
# kb200
config.vm.define "kb200" do |kb200|
kb200.vm.network "private_network", ip: "10.4.7.200"
kb200.vm.hostname = "kb200"
# 指定核心数和内存
config.vm.provider "virtualbox" do |v|
v.memory = 2048
v.cpus = 2
end
end
end
以上的配置文件,我们指定了
centos 7
作为所有虚拟机的基础镜像,并且分别定义了 5 台虚拟机,使用以下命令启动虚拟机# 启动虚拟机
vagran up
启动虚拟机之后进入虚拟机,修改 root 账号登录凭证(mi码),在接下来的集群搭建操作中,我们都将在 root 用户下进行。以 kb11 为例,操作指令如下:
# 进入 kb11 虚拟机
vagrant ssh kb11
# 修改root账号登录凭证(mi码)
sudo passwd root
# 切换到 root 用户
su
我们使用
vim /etc/sysconfig/network-scripts/ifcfg-eth1
命令修改一下每一台主机的网卡配置文件,在所有配置参数的末尾添加GATEWAY
和DNS1
配置,DNS改为和网关一样。# The contents below are automatically generated by Vagrant. Do not modify.
NM_CONTROLLED=yes
BOOTPROTO=none
ONBOOT=yes
IPADDR=10.4.7.11
NETMASK=255.255.255.0
DEVICE=eth1
PEERDNS=no
GATEWAY=10.4.7.254
DNS1=10.4.7.254
#VAGRANT-END
安装完成之后,确保每台主机之间能相互连通,虚拟环境准备就完成了!
2. 初始化初始化工作在所有的主机上执行
关闭selinx和防火墙
# 关闭selinx
setenforce 0
# 关闭防火墙
systemctl stop firewalld
以上指令只是临时关闭selinux,永久关闭selinux,需要把
/etc/selinux/config
里面的SELINUX
值修改为disabled
,如下SELINUX=disabled
安装epel源
yum install -y epel-release
安装常用的工具
yum install -y wget net-tools telnet tree nmap sysstat lrzaz doc2unix bind-utils
3. 初始化域名解析服务器我们把
kb11
这台主机作为域名服务器。接下来进行初始化操作。安装bind9软件
yum install -y bind
安装好bind之后,修改bind的配置文件
/etc/named.conf
,修改的配置参数如下# 修改服务的IP
listen-on port 5310.4.7.11;
;
# 允许任意主机使用解析服务
allow-queryany;
;
# 添加 forwarders 键, 值网关地址
forwarders10.4.7.254;
;
# 使用递归的方式
recursion yes;
#关闭sec
dnssec-enable no;
dnssec-validation no;
修改区域配置文件
/etc/named.rfc1912.zones
,覆盖默认内容如下:zone "host.com" IN
type master;
file "host.com.zone";
allow-update10.4.7.1;
;
;
zone "od.com" IN
type master;
file "od.com.zone";
allow-update10.4.7.1;
;
;
编辑区域数据文件
/var/named/host.com.zone
,改为如下内容$ORIGIN host.com.
$TTL 600 ;
10 minutes
@ IN SOA dns.host.com. dnsadmin.host.com. (
2022012001 ;
serial
10800;
refresh (3 hours)
900;
retry (15 minutes)
604800;
expire (1 week)
86400;
minium (1 day)
)
NS dns.host.com.$TTL 60;
1 minute
dnsA10.4.7.11
HDSS7-11A10.4.7.11
HDSS7-12A10.4.7.12
HDSS7-21A10.4.7.21
HDSS7-22A10.4.7.22
HDSS7-200A10.4.7.200
编辑区域数据文件
/var/named/od.com.zone
,改为如下内容$ORIGIN od.com.
$TTL 600 ;
10 minutes
@ IN SOA dns.od.com. dnsadmin.od.com. (
2022012002 ;
serial
10800;
refresh (3 hours)
900;
retry (15 minutes)
604800;
expire (1 week)
86400;
minium (1 day)
)
NS dns.od.com.$TTL 60;
1 minute
dnsA10.4.7.11
启动dns服务
# 启动dns 服务
systemctl start named
# 将dns 服务设置为开机自启
systemctl enable named
验证dns是否正常
# 查询53端口服务
netstat -luntp | grep 53
可以看到53端口服务正常运行,如下图所示
![#yyds干货盘点#k8s知识进阶知识,使用二进制安装包安装k8s的环境准备](https://www.songbingjia.com/android/img/02-01.png)
文章图片
查看dns是否正常解析
dig -t A hdss7-21.host.com @10.4.7.11 +short
如果看到正常返回IP地址,则代表解析正常。
这时候,我们需要把我们的
kb1
主机的DNS改为我们自建的DNS服务
,修改 /etc/sysconfig/network-scripts/ifcfg-eth1
文件为的 DNS1 配置,如下DNS1=10.4.7.11
再重启服务
systemctl restart network
4. 修改所有的主机的域名解析服务器重启网络服务之后,在客户端配置
/etc/resolv.conf
文件,改为如下内容# 查询主机域
search host.com
# 解析服务器
nameserver 10.4.7.11
我们再使用如下指令检测是否解析正常
ping hdss7-21.host.com
# 因为设置了 search ,也可以直接ping 短域名
ping hdss7-21
如果返回如下图内容,这代表dns正常解析
![#yyds干货盘点#k8s知识进阶知识,使用二进制安装包安装k8s的环境准备](https://www.songbingjia.com/android/img/02-02.png)
文章图片
【#yyds干货盘点#k8s知识进阶知识,使用二进制安装包安装k8s的环境准备】我们在
/etc/resolv.conf
文件中修改只是让主机临时生效,如果重启之后,系统将会根据网卡配置来指定对应的 域名解析服务器,所以永久生效的方式应当是 修改网卡 配置中的DNS域名。推荐阅读
- linux下MySQL忘记root密码#yyds干货盘点#
- DRBD+Pacemaker+NFS+KVM+K8S之drbd篇
- #yyds干货盘点#Linux网络配置故障排除命令
- MySQL启动脚本
- 模拟逻辑卷扩容
- #yyds干货盘点#解决 bash: telnet: command not found 问题
- 应用运维工程师基础能力总结
- Linux基础操作(如何在 Linux 中复制文件夹())
- Apache优化相关#yyds干货盘点#