kubeadm搭建kubernetes集群,只适合咱们平时个人使用,简单,快速;真正放到生产上建议还是用二进制的方式搭建kubernetes集群,容易在搭建过程中了解组件的关系,方便后期的排错。
一、搭建集群前的准备工作
我选用搭建的系统是Ubuntu 18.04.5
1.1、 先设置主机的hostname
hostnamectl set-hostname xxxx(根据自己需求设置)
1.2、 查看防火墙是不是关闭
ufw status (ubuntu环境的防火墙默认是关闭的)
1.3、关闭swap
swapoff -a (不关闭,kubelet无法正常启动)
二、用kubeadm安装k8s集群
1.1、添加系统参数到三台主机上执行如下命令:
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo sysctl --system
1.2、更新apt软件包索引并安装使用Kubernetes apt存储库所需的软件包
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl
1.3、更新apt软件包索引,安装docker、kubelet,kubeadm和kubectl,并固定其版本
sudo apt-get update
sudo apt-get install -y docker.io
安装国内kubernetes的yum源,采用阿里源:
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
cat </etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
指定版本安装kubelet,kubeadm,kubectl,如图:
接下来的操作需要到master的管理节点执行:
初始化master节点,如下图:
发现master节点已经初始化集群完成,个别参数说明:
–apiserver-advrtise-address: 设置你的apiserver地址
–pod-network-cidr: 设置pod之间的网络ip段
–image-repository: 需要拉取的镜像库地址
初始完成后,在master节点执行如下命令:
到节点主机执行如下操作:
执行完之后回到master节点进行查看node节点是否已经加入:
这个时候看到node状态还没有Ready,是因为咱们还没有安装集群需要的网络,我这里安装采用calico :
kubectl create -f https://docs.projectcalico.org/manifests/tigera-operator.yaml;
kubectl create -f https://docs.projectcalico.org/manifests/custom-resources.yaml
安装完成后,查看node的状态是否正常,calico的pod运行是否Running:
ok,一个简单的kubernetes集群就搭建完成了!