0
点赞
收藏
分享

微信扫一扫

Kuberneters 安装前的准备工作,构造k8s的安装环境


十年河东,十年河西,莫欺少年穷

学无止境,精益求精

Kuberneters 安装前的准备工作,构造k8s的安装环境_服务器


 1、准备三台虚拟机,分别命名为master 、 node1 、 node2

Kuberneters 安装前的准备工作,构造k8s的安装环境_服务器_02

 master  192.168.136.135

 node1   192.168.136.136

 node2   192.168.136.137

2、检查虚拟机的版本,centos 系统必须是7.5以上版本

[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

3、主机名解析

注:企业级建议使用企业内部的DNS服务器进行解析,没有DNS服务器,就通过这种方式

vim /etc/hosts

三台虚拟机的 hosts 文件中增加如下配置

192.168.136.135  master
192.168.136.136 node1
192.168.136.137 node2

此时三台虚拟机可以相互 ping 通

我在master 中 ping node1虚拟机

Kuberneters 安装前的准备工作,构造k8s的安装环境_重启_03


 4、时间同步,kuberneters 要求 master 和 各个Node节点之间的时间必须是一致的

三台虚拟机同时开通从网络同步时间

[root@localhost etc]# systemctl start chronyd
[root@localhost etc]# systemctl enable chronyd
[root@localhost etc]# date
2022年 05月 07日 星期六 14:08:36 CST

5、禁用Iptables 和 firewalld 防火墙 【生产环境中关闭防火墙一定要慎重】

关闭防火墙

[root@localhost etc]# systemctl stop firewalld
[root@localhost etc]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

关闭iptables

[root@localhost ~]# systemctl stop iptables
[root@localhost ~]# systemctl disable iptables

6、禁用selinux ,这是个奇葩的服务,一定要坚决关掉

临时关闭selinux服务

setenforce [1|0]    --- 1表示临时开启Enforcing,0表示临时关闭Permissive
getenforce --- 关闭后确认
[root@server ~]# setenforce 0
[root@server ~]# getenforce
Permissive

 永久关闭selinux服务 【推荐永久关闭】

修改/etc/selinux/config文件

Kuberneters 安装前的准备工作,构造k8s的安装环境_服务器_04

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced. --- 服务处于正常开启状态
# permissive - SELinux prints warnings instead of enforcing. --- 服务被临时关闭了
# disabled - No SELinux policy is loaded. --- 服务被永久关闭
SELINUX=enforcing

Kuberneters 安装前的准备工作,构造k8s的安装环境_服务器_04

第一步:修改配置文件

[root@server ~]# vi /etc/selinux/config 
SELINUX=disabled

第二步:系统重启生效配置

[root@server ~]# reboot

第三步:确认服务状态

[root@server ~]# getenforce 
Disabled

7、禁用swap分区

linux 的 swap 分区的作用是当虚拟机的物理内存用完后,允许借用磁盘空间虚拟成物理内存,这样虽然增加了可用内存,但严重影响了系统性能,kuberneters 要求禁用swap 分区,如果因某种原因确实不能禁用,需要在k8s安装集群过程中相关配置参数中明确说明。

这里建议禁用swap分区

临时关闭

swapoff -a

永久关闭,需要 reboot 重启虚拟机,可以在所有配置改好后一块重启

vim /etc/fstab

将 swap 这行注释

Kuberneters 安装前的准备工作,构造k8s的安装环境_linux_06


 8、修改linux内核参数,添加网桥过滤和地址转发功能

vim /etc/sysctl.d/kubernetes.conf

在 kubernetes.conf 文件中添加

net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1

Kuberneters 安装前的准备工作,构造k8s的安装环境_linux_07

然后重新加载配置

sysctl -p

加载网桥过滤模块

modprobe br_netfilter

查看配置是否成功

lsmod | grep br_netfilter

Kuberneters 安装前的准备工作,构造k8s的安装环境_重启_08


 9、配置Ipvs功能

在kubernetes中service有两种代理模型,一种是基于iptables的,一种是基于ipvs的

两者比较的话,ipvs的性能明显要高一些,但是如果要使用它,需要手动载入ipvs模块

 1、安装ipset和ipvsadm

yum install ipset ipvsadmin -y

2、添加需要加载的模块写入脚本文件

cat <<EOF >  /etc/sysconfig/modules/ipvs.modules

3、输入脚本

#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF

4、为脚本文件添加执行权限

chmod +x /etc/sysconfig/modules/ipvs.modules

5、执行脚本

/bin/bash /etc/sysconfig/modules/ipvs.modules

6、查看对应模块是否加载成功

lsmod | grep -e ip_vs -e nf_conntrack_ipv4

Kuberneters 安装前的准备工作,构造k8s的安装环境_服务器_09


 至此,整个kuberbeters所需要的环境就准备好了。

注意,以上步骤在master节点服务器和node节点服务器都要安装。

安装完毕后,需要重启服务器、reboot。

最后,分别重启服务器

reboot

@天才卧龙的波尔克


举报

相关推荐

0 条评论