单master K8s集群
一、硬件配置:需要至少2GB内存,30GB硬盘,Centos7.x
二、对centos进行初始化操作
# 1、关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
# 2、关闭Selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
# 3、关闭Swap
sed -ri 's/.*swap.*/#&/' /etc/fstab
三、根据规划设置主机名
分别对每个节点的主机设置不同的hostname,便于后期使用
hostnamectl set-hostname xxx
#在master中hosts中添加 vim /etc/hosts
192.168.0.1 master
192.168.0.2 node1
192.168.0.3 node2
# 将桥接的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 # 生效
# 需要时间同步【启动chronyd系统服务】
建立虚拟网卡(所有节点)-云服务器
# step1 ,注意替换你的公网IP进去
cat > /etc/sysconfig/network-scripts/ifcfg-eth0:1 <<EOF
BOOTPROTO=static
DEVICE=eth0:1
IPADDR=你的公网IP
PREFIX=32
TYPE=Ethernet
USERCTL=no
ONBOOT=yes
EOF
# step2 如果是centos8,需要重启
systemctl restart network
# step3 查看新建的IP是否进去
ip addr 或者 ifconfig
#如果kubectl init 遇到 FileContent--proc-sys-net-ipv4-ip_forward
sysctl -w net.ipv4.ip_forward=1 可以解决问题
所有节点安装docker ,kubeadm ,kubelet
安装docker
yum install docker-ce-19.03.9 -y
systemctl daemon-reload
systemctl restart docker.service
#添加docker镜像源
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
EOF
#添加k8s镜像源
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
# 重启docker
systemctl restart docker
# 安装kubelet,kubeadm,kubectl
yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0
# 设置开机启动
systemctl enable kubelet
#在master 节点上执行,其中192.168.162.133写自己本机ip
kubeadm init --apiserver-advertise-address 公网ip --apiserver-bind-port 6443 --cert-dir /etc/kubernetes/pki --control-plane-endpoint kuber4s.api --image-repository registry.cn-hangzhou.aliyuncs.com/google_containers --kubernetes-version v1.18.0 --pod-network-cidr 10.10.0.0/16 --service-cidr 10.20.0.0/16 --service-dns-domain cluster.local --upload-certs