本文更好的阅读体验请见个人博客
服务器准备
主机名 | 公网IP | 内网IP | 系统 | 配置 |
---|---|---|---|---|
k8s-master | 119.3.168.188 | 192.168.0.194 | CentOS 7.6 | 4核 16G |
k8s-node1 | 121.36.55.3 | 192.168.0.130 | CentOS 7.6 | 4核 16G |
k8s-node2 | 124.70.19.106 | 192.168.0.130 | CentOS 7.6 | 4核 16G |
系统前期设置
设置主机名
hostnamectl set-hostname k8s-master
hostnamectl set-hostname k8s-node1
hostnamectl set-hostname k8s-node2
配置hosts文件
cat >> /etc/hosts<<EOF
192.168.0.194 k8s-master
192.168.0.130 k8s-node1
192.168.0.245 k8s-node2
EOF
安装docker
卸载旧版本(未安装过则跳过)
yum remove docker docker-common container-selinux docker-selinux docker-engine
安装新版本
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
# 安装必要工具集
yum install -y yum-utils
# 添加docker的yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #阿里云
# 更新yum缓存
yum makecache fast
# 查看docker版本信息
yum list docker-ce --showduplicates | sort -r
# 挑选指定版本安装 yum -y install docker-ce-<版本号>
yum -y install docker-ce-20.10.11-3.el7
# 启动docker并设置开机自启
systemctl enable docker && systemctl start docker
# 检查docker版本
docker -v
配置daemon.json文件
cat >/etc/docker/daemon.json <<EOF
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts":{
"max-size": "100m"
},
"registry-mirrors": [
"https://82m9ar63.mirror.aliyuncs.com"
]
}
EOF
# 重启docker
systemctl daemon-reload
systemctl enable docker && systemctl restart docker && systemctl status docker
安装kubeadm(三台)
环境配置
# 安装一些依赖包
yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wget vim net-tools git
# 将 SELinux 设置为 permissive 模式(相当于将其禁用)
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
# 关闭swap
swapoff -a
sed -ri 's/.*swap.*/#&/' /etc/fstab
# 关闭防火墙,设置 iptables 检查桥接流量
systemctl stop firewalld && systemctl disable firewalld
yum -y install iptables-services && systemctl start iptables && systemctl enable iptables && iptables -F && service iptables save
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF