kubeadm搭建集群
k8s核心概念
单主集群模式
多主集群模式
硬件要求
集群搭建方式
集群搭建必备的条件
- 系统要求 三台安装好Centos 7X 的机器
- 禁用swap分区
- 硬件配置 双核CPU、2G内存 、40G 硬盘
- 网络要求——集群内网络互通、可访问外网
使用kubeamd方式搭建k8s集群
第一部分 初始化
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
关闭seLinux (如果不关闭搭建集群会有问题)
sed -i 's/enforcing/disabled/' /etc/selinux/config #修改配置文件永久关闭
setenforce 0 #临时关闭
关闭swap
swapoff -a #
sed -ri 's/."swap." /#&/' /etc/fstab
设置主机名称
hostnamectl set-hostname 名称
master上添加hosts信息(只在主节点操作)
cat >> /etc/hosts << EOF
10.0.0.131 master
10.0.0.130 node1
EOF
将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 #使以上内容生效!
时间同步
yum install ntpdate -y
ntpdate time.windows.com
第二部分 安装Docker / kubeadm / kubelet
Docker
>wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
yum install docker-ce-18.03.1.ce-1.el7.centos -y
systemctl start docker && systemctl enable docker
docker version
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://68rmyzg7.mirror.aliyuncs.com"]
}
systemctl restart docker
docker info
安装kubernetes
- 添加kubernetes.repo
cat << EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
安装最新版本
yum install -y kubelet kubeadm kubectl
安装指定版本
yum install kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0 -y
systemctl enable kubelet
部署master节点
kubeadm init \
--apiserver-advertise-address=主IP \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.18.0 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16
kubeadm init --apiserver-advertise-address=10.0.0.133 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.18.0 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16
注册用户(只在主节点运行)
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
添加节点
>kubeadm join 10.0.0.133:6443 --token n9b85t.vj0uw2coidrhh3g7 \
--discovery-token-ca-cert-hash sha256:373a225bf093e12616566140cfbe27dac78ef04ba58b44437a4044c5ff3aff3f
### 配置CNI网络插件
wget https://raw.githubusercontent.com/coreos/flannel/master/Docomentation/kube-flannel.yml
下载不了换成ip来下载
curl -O http://151.101.76.133/coreos/flannel/master/Docomentation/kube-flannel.yml
kubectl apply -f https
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml
docker pull quay.io/coreos/flannel:v0.7.0-amd64