kubeadm部署三节点的k8s环境
前言
Kubernetes作为容器编排工具,简化容器管理,提升工作效率而颇受青睐。很多部署Kubernetes由于“科学上网”问题以及配置复杂问题很难进行下去,本文以实战经验详解kubeadm不用“科学上网”部署Kubernetes的最简方法。
环境
IP地址 | 节点角色 | CPU | Memory | Hostname | 磁盘 |
---|---|---|---|---|---|
192.168.120.10 | master | >=2c | >=2G | master | sda、sdb |
192.168.120.11 | worker | >=2c | >=2G | node1 | sda、sdb |
192.168.120.12 | worker | >=2c | >=2G | node2 | sda、sdb |
在所有节点上进行如下操作
1.设置主机名hostname,管理节点设置主机名为 master 。
hostnamectl set-hostname master
需要设置其他主机名称时,可将 master 替换为正确的主机名node1、node2即可。
2.编辑 /etc/hosts 文件,添加域名解析。
cat <<EOF >>/etc/hosts
192.168.120.10 master
192.168.120.11 node1
192.168.120.12 node2
EOF
3.关闭防火墙、selinux和swap。
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
swapoff -a
sed -i 's/.*swap.*/#&/' /etc/fstab
4.配置内核参数,将桥接的IPv4流量传递到iptables的链
cat > /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
5.配置国内yum源
yum install -y wget
mkdir /etc/yum.repos.d/bak && mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
yum clean all && yum makecache
配置国内Kubernetes源
cat <<EOF > /etc/yum.rep