文章目录
一.集群介绍
1.1 集群搭建方法
目前生产部署Kubernetes 集群主要有两种方式:
- Kubeadm
Kubeadm是一个K8s 部署工具,提供 kubeadm init 和 kubeadm join,用于快速部署Kubernetes 集群。 - 二进制包
从github 下载发行版的二进制包,手动部署每个组件,组成Kubernetes 集群。
Kubeadm 降低部署门槛,但屏蔽了很多细节,遇到问题很难排查。如果想更容易可控,推荐使用二进制包部署Kubernetes 集群,虽然手动部署麻烦点,期间可以学习很多工作原理,也利于后期维护。
1.2 集群架构
目前搭建集群一般采取一主一从、多主多从的集群架构(高可用)
二. 集群部署
本文使用一主两从,共三台服务器搭建k8s集群
2.1 环境配置
三台服务器都需如下操作
- 关闭swap
#临时关闭 swapoff -a
#永久关闭,需要重启
sed -i 's/.*swap.*/#&/' /etc/fstab
#查看,swap必须为0
free -g
- 添加主机映射
echo "192.168.48.14 k8s" >>/etc/hosts
echo "192.168.48.13 k8s-node1" >>/etc/hosts
echo "192.168.48.11 k8s-node2" >>/etc/hosts
- 将桥接的 IPv4 流量传递到 iptables 的链
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
#刷新
sysctl --system
- docker安装
#关闭防火墙与selinux
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
#安装依赖包