ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

kubernetes-集群搭建-01-环境准备

2021-09-17 19:57:50  阅读:541  来源: 互联网

标签:01 kubernetes ip etc ipvs vs 集群 swap selinux


环境:

Ubuntu 20.04.2 LTS \n \l

生产环境的集群搭建推荐使用Kubeadm,

Kubeadm工具的出发点很简单,就是尽可能简单的部署一个生产可用的Kubernetes集群。实际也确实很简单,只需要两条命令:

# 创建一个 Master 节点
$ kubeadm init

# 将一个 Node 节点加入到当前集群中
$ kubeadm join <Master 节点的 IP 和端口 >

1-环境准备:

我的三台虚拟机服务器

172.30.10.175   master
172.30.10.25     node1
172.30.10.164     node2

1:设置系统主机名以及 Host 文件的相互解析

查看主机名: hostname

修改主机名:vim /etc/hostname

重启系统:reboot

分别在三个虚拟机执行上面的命令主机名分别为:master,node1,node2



添加host解析:

编辑etc/hosts文件

cat <<EOF>> /etc/hosts
172.30.10.175   master
172.30.10.25     node1
172.30.10.164     node2
EOF
在三台服务器分别执行上面这个

验证
随便找一台服务器,ping 以下主机名测试
ping node1
ping node2

2:时间同步

kubernets要求集群中的时间节点必须精确一致;

3:禁用iptables和firewalld服务

kubernets和docker在运行中会产生大量的iptables规则(会实现一些转发和路由),为了不让系统规则跟他们混淆,直接关闭系统的规则;

关闭防火墙:
sudo ufw status 查看当前防火墙状态
sudo ufw enable 开启防火墙
sudo ufw disable 关闭防火墙

关闭iptables服务:
apt-get remove iptables

4:关闭selinux

selinux是linux系统下的一个安全服务,若是不关闭它,在安装集群的时候会产生各种奇怪的问题;

编辑/etc/selinux/config 文件,
修改SELINUXD的值为disabled

注意,修改完毕后需要重启服务器
重启:reboot

我的ubuntu 20找不到这个文件,有谁知道怎么关闭的可以讲下


查看selinux是否开启还是关闭:
getenforce

不过会提示没有这个工具,首先要安装下这个:
apt install selinux-utils

然后我安装好后,再getenforce:
root@master:/etc/selinux# getenforce
Disabled

已经是关闭状态的;

5:禁用swap分区

swap分区指的是虚拟内存分区,作用是在物理内存使用完后,将磁盘空间虚拟成内存来使用;

启用swap设备会对系统的性能产生非常负面的影响,因此kubernetes要求每个节点都要禁用swap设备,但是如果因为某些原因确实不能关闭swap分区,就需要在集群安装过程中通过明确的参数进行配置说明;

禁用swap分区:
vim /etc/fstab
注释掉最后一行的swap

然后重启:
reboot

然后free -m 
可以看到swap的空间为0了

6:调整linux中的内核参数

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


1:添加一个文件,编辑内容如下:
vim /etc/sysctl.d/kubernetes.conf
添加如下配置:

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

修改完后需要重新加载配置:
sysctl -p /etc/sysctl.d/kubernetes.conf
或者
sysctl -p


2:加载网桥过滤模块:
modprobe br_netfilter

查看是否加载成功:
lsmod |grep br_netfilter

7:配置ipvs功能

在kubernetes中service(做服务端口接口暴露的,负载均衡,反向代理)有两种代理模型,一种是基于iptables的,一种是基于ipvs的,

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

apt install ipvsadm ipset -y
# ipvs作为kube-proxy的转发机制,开启ipvs模块支持
modprobe ip_vs && modprobe ip_vs_rr && modprobe ip_vs_wrr && modprobe ip_vs_sh
# 开机启用的ipvs
cat <<EOF >> /etc/modules
ip_vs_rr
ip_vs_wrr
ip_vs_sh
ip_vs
EOF



查看是否安装成功
lsmod | grep -e ip_vs -e nf_conntrack_ipv4

上面的那些安装完成后,最好重启下三台服务器;

参考:

kubeadm部署1.17.3[基于Ubuntu18.04] - 云原生之道 - 博客园

标签:01,kubernetes,ip,etc,ipvs,vs,集群,swap,selinux
来源: https://blog.csdn.net/u010953880/article/details/120287643

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有