CentOS 8安装Kubernetes集群详细教程

在顺利完成《CentOS 8安装Kubernetes集群基础工作》后,接下来正式进入安装Kubernetes集群的主要工作,下面尽可能做得详细。

最近更新日期:2021-09-16。

一、安装kubeadm

Master节点和Worker节点都需要操作。

1、添加Kubernetes的yum源

因为ECS服务器在国内,所以选择了阿里云的yum源。

添加Kubernetes的yum源指令:cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

注意“gpgkey”的值中两个URL中间不是换行,而是空格。

检查新的yum源是否成功,查询kubeadm版本指令:yum list|egrep ‘kubeadm|kubectl|kubelet’

2、kubeadm安装准备工作

针对Kubernetes调整内核参数,大部分已经在《CentOS 8安装Kubernetes集群基础工作》已完成,目前尚未完全理解,待后续详细分解。

创建Kubernetes内核参数配置文件指令:cat > /etc/sysctl.d/kubernetes.conf <<EOF
net.bridge.bridge-nf-call-iptables=1 # 开启网桥模式【重要】
net.bridge.bridge-nf-call-ip6tables=1 # 开启网桥模式【重要】
net.ipv4.ip_forward=1
vm.swappiness=0 # 禁止使用 swap空间,只有当系统OOM时才允许使用它
vm.overcommit_memory=1 # 不检查物理内存是否够用
vm.panic_on_oom=0 # 开启OOM
fs.inotify.max_user_instances=8192
fs.inotify.max_user_watches=1048576
fs.file-max=52706963
fs.nr_open=52706963
net.ipv6.conf.all.disable_ipv6=1 # 关闭IPV6【重要】
net.netfilter.nf_conntrack_max=2310720
EOF

手动刷新,让配置文件立即生效指令:sysctl -p /etc/sysctl.d/kubernetes.conf

3、kube-proxy开启ipvs的前置条件

透明防火墙(Transparent Firewall)又称桥接模式防火墙(Bridge Firewall)。简单来说,就是在网桥设备上加入防火墙功能。透明防火墙具有部署能力强、隐蔽性好、安全性高的优点。

加载透明防火墙指令:modprobe br_netfilter

创建ipvs配置文件指令:cat > /etc/sysconfig/modules/ipvs.modules <<EOF
#!/bin/bash
modprobe — ip_vs
modprobe — ip_vs_rr
modprobe — ip_vs_wrr
modprobe — ip_vs_sh
modprobe — nf_conntrack
EOF

修改ipvs配置文件读写权限指令:chmod 755 /etc/sysconfig/modules/ipvs.modules

手动加载ipvs配置文件列出的内核模块指令:bash /etc/sysconfig/modules/ipvs.modules

ipvs依赖于nf_conntrack_ipv4内核模块,4.19包括之后内核里改名为nf_conntrack,1.13.1之前的kube-proxy的代码里没有加判断一直用的nf_conntrack_ipv4,好像是1.13.1后的kube-proxy代码里增加了判断。

列出所有ipvs相关模块指令:lsmod | grep -e ip_vs -e nf_conntrack

4、安装

根据查询kubeadm版本信息执行安装指令:yum install -y kubeadm-1.22.1 kubelet-1.22.1 kubectl-1.22.1

设置开机启动kubelet指令:systemctl enable kubelet

<未完待续>

引用:

《全网最全的搭建Kubernetes准备工作配置》:https://blog.csdn.net/qq_37840993/article/details/114396787

《CentOS8安装Kubernetes1.20.2集群》:https://blog.csdn.net/weixin_38920945/article/details/113728463

基于原文略有调整,如有不对之处还请指正。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注