k8s安装

发布时间 2023-08-25 21:10:05作者: 浮沉丶随心

一、基础环境配置

ip 主机名
192.168.137.106 docker
192.168.137.110 master
192.168.137.111 node1
192.168.137.112 node2

跨主机免密码认证并设置主机名

--生成秘钥对
ssh-keygen -t rsa

--查看密钥
ls .ssh/

--将密钥传送给其他主机
-- yes之后输入密码
for i in 106 110 111 112
do
ssh-copy-id root@192.168.137.$i
done

--查看主机名字
for i in 106 110 111 112
do
ssh root@192.168.137.$i "hostname"
done

--设置主机名字
hostnamectl set-hostname docker

ssh root@192.168.137.110 "hostnamectl set-hostname master"
ssh root@192.168.137.111 "hostnamectl set-hostname node1"
ssh root@192.168.137.112 "hostnamectl set-hostname node2"

跨主机免密码认证
ssh-copy-id root@远程主机ip地址

Swap环境配置(所有主机操作)

--临时禁用
swapoff -a
--永久禁用
sed -ri 's/.*swap.*/#&/' /etc/fstab
--查看是否关闭成功
free -m

--内核参数调整
cat >> /etc/sysctl.d/k8s.conf << EOF
vm.swappiness=0
EOF
sysctl -p /etc/sysctl.d/k8s.conf

同步网络时间(所有主机操作)

# 如果没有 ntpdate ,使用如下命令安装
yum install -y ntpdate
ntpdate ntp1.aliyun.com # 使用
date
 
// 添加定时同步 每天凌晨1点自动同步时间
echo "0 1 * * * ntpdate ntp1.aliyun.com" >> /var/spool/cron/root
crontab -l

网络参数调整(所有主机操作)

--配置iptables参数,使得流经网桥的流量也经过iptables,/netfilterl防火墙

cat >> /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF

--加载网桥过滤器模块
modprobe br_netfilter
modprobe overlay
sysctl -p /etc/sysctl.d/k8s.conf

lsmod | grep br_netfilter # 验证是否生效

配置ipvs功能

在kubernetes中Service有两种代理模型,一种是基于iptables的,一种是基于ipvs,两者对比ipvs的性能要高,如果想要使用ipvs模型,需要手动载入ipvs模块

yum -y install ipset ipvsadm
 
cat > /etc/sysconfig/modules/ipvs.modules <<EOF
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4  # 高内核版本使用nf_conntrack替换
EOF
 
chmod +x /etc/sysconfig/modules/ipvs.modules 
# 执行脚本
/etc/sysconfig/modules/ipvs.modules

# 验证ipvs模块
lsmod | grep -e ip_vs -e nf_conntrack_ipv4 # (nf_conntrack)

二、容器环境操作

https://developer.aliyun.com/mirror/

--定制软件源
yum install -y yum-utils device-mapper-persistent-data 1vm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装最新版docker
yum list docker-ce --showduplicates | sort -r
yum install -y docker-ce
systemct1 enable docker
systemctl start docker