Debian10(deepin v20)k8s - 开始前环境准备(一)

集群配置前检查和节点重命名设置

1、要求各节点唯一

# 确保每个节点上 MAC 地址和 product_uuid 的唯一性
ip link 
# 或
ifconfig -a
# 对 product_uuid 校验
sudo cat /sys/class/dmi/id/product_uuid

2、重命名主机名

# 设置机器名称,以便在集群中辨识
sudo hostnamectl set-hostname master01
# 永久生效
sudo tee /etc/hostname <

3、关闭swap

# 临时关闭,立即生效
sudo swapoff -a

# 永久关闭
# 重启后systemd机制的关系仍会启用swap
sudo vim /etc/fstab
# 注意 noauto 要求 systemd 启动时不自动挂在swap
UUID=f96e71e3-a4b7-4dbb-9576-9ef9ae498717  none  swap  defaults,noauto 0 0                                    
:wq
# 其他系统,直接注释就可以

# 检查是否生效
free -m

4、防火墙端口

# 安装管理工具
sudo apt install ufw

# 启动防火墙
sudo ufw enable

# 设置控制平面的端口 作用@使用者
sudo ufw allow 6443 # Kubernetes API 服务器@所有组件
sudo ufw allow 2379:2380/tcp # etcd 服务器客户端 API@kube-apiserver, etcd
sudo ufw allow 10250 # Kubelet API@kubelet 自身、控制平面组件
sudo ufw allow 10251 # kube-scheduler@kube-scheduler 自身
sudo ufw allow 10252 # kube-controller-manager@kube-controller-manager 自身

# 工作节点设置端口 作用@使用者
sudo ufw allow 10250 # Kubelet API@kubelet 自身、控制平面组件
sudo ufw allow 30000:32767/tcp # NodePort 服务@所有组件

# Host的8472/udp端口是Flannel/Calico的VXLAN Overlay网络专用端口,即所有跨Host的容器间网络通信都走这个端口
sudo ufw allow 8472/udp

# coredns 使用端口
sudo ufw allow 53
sudo ufw allow 9153/tcp

# flanneld用到了该端口,coredns需要与之通信
sudo ufw allow 443/tcp

# deepin v20 默认未安装 SELINUX 而是采用 AppArmor 简易的权限控制代替,如果是redhat类linux系统,关闭方法如下
##### 注意:不是所有linux系统都有 selinux模块 ######
sudo setenforce 0 
vim /etc/selinux/config
SELINUX=disabled

5、启用ipvs

#启用ipvs作为k8s的流量转发模块,相较于Iptables量大情况下更有优势
#从k8s的1.8版本开始,kube-proxy引入了IPVS模式,IPVS模式与iptables同样基于Netfilter,但是采用的hash表,因此当service数量达到一定规模时,hash查表的速度优势就会显现出来,从而提高service的服务性能.
# 安装软件
sudo apt-get install ipvsadm ipset
# ipvsadm 是ipvs模块的操作工具
# ipset 简介
# ipset是iptables的扩展,它允许你创建 匹配整个地址集合的规则。而不像普通的iptables链只能单IP匹配, ip集合存储在带索引的数据结构中,这种结构即时集合比较大也可以进行高效的查找,除了一些常用的情况,比如阻止一些危险主机访问本机,从而减少系统资源占用或网络拥塞,IPsets也具备一些新防火墙设计方法,并简化了配置.官网:http://ipset.netfilter.org/
# 临时生效
sudo modprobe -- ip_vs
sudo modprobe -- ip_vs_rr
sudo modprobe -- ip_vs_wrr
sudo modprobe -- ip_vs_sh
sudo modprobe -- nf_conntrack
# kube-proxy 1.13 以下强制使用 nf_conntrack_ipv4,与linux kernel >= 4.19冲突,此时建议升级到 kube-proxy 1.13+
# use 'nf_conntrack' instead of 'nf_conntrack_ipv4' for linux kernel >= 4.19
# 查看linux内核版本号
uname -r
# 永久生效
sudo tee /root/k8s/ipvs.sh <

6、配置hosts

192.168.1.100 api.k8s.local
192.168.1.77 master01 
192.168.1.88 master02 
192.168.1.99 master03 

7、各节点安装时间同步软件

sudo apt install -y chrony

你可能感兴趣的:(K8S集群,集群,网络,服务器,linux,k8s)