部署环境
Linux版本 | CPU | MEM |
---|---|---|
CentOS7 | 双核 | 4G/node |
master | node01 |
---|---|
172.16.0.168 | 172.16.0.169 |
服务 | 版本 |
---|---|
Docker | 19.03.10 |
k8s | 1.18.0 |
1、更改主机名
hostnamectl set-hostname master
hostnamectl set-hostname node01
2、添加对应域名解析
cat >> /etc/hosts << EOF
172.16.0.168 master
172.16.0.169 node01
EOF
3、防火墙,SElinux
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/’ /etc/selinux/config
4、 时间同步
timedatectl set-timezone Asia/Shanghai;timedatectl set-local-rtc 0
5、禁用swap
swapoff -a && sed -i ‘/swap/s/^/#/’ /etc/fstab
free -h 查看禁用效果
6、配置集群无密登录 master到node01,node02无密码
ssh-keygen -t rsa
ssh-copy-id root@node01
7、优化内核参数
[root@master ~]# modprobe br_netfilter
创建配置文件
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
net.ipv4.tcp_tw_recycle = 0
vm.swappiness = 0
vm.overcommit_memory = 1
vm.panic_on_oom = 0
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
net.netfilter.nf_conntrack_max = 2310720
EOF
加载配置
sysctl -p /etc/sysctl.d/kubernetes.conf
注意:可能报错
解决:可能是 conntrack没有加载,lsmod |grep conntrack,查看不到信息,果然是
执行下面命令 重新加载
modprobe ip_conntrack即可
拷贝配置文件到节点
[root@master ~]# scp /etc/sysctl.d/kubernetes.conf node01:/etc/sysctl.d/
节点也要加载内核:
[root@node01 ~]# sysctl -p /etc/sysctl.d/kubernetes.conf
注意:docker、k8s的版本必须一样,master、node都要安装,否则,方法也需要调整。
提示:以下是本篇文章正文内容,下面案例可供参考
一、master操作
1、需要在各节点上准备kubernetes
的yum
源,这里推荐使用阿里云的yum
源先来master
节点上操作
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubern