一、基础环境配置
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