文章目录
- 一、克隆两台虚拟机
- 二、Master节点配置
- 2.1 kubeadm初始化集群
- 2.2 集群网络配置
- 三、Node节点配置,添加到集群
一、克隆两台虚拟机
分别命名为kube-node1、kube-node2
修改ip
vi /etc/sysconfig/network-scripts/ifcfg-ens32
systemctl restart network
修改主机名
hostnamectl set-hostname kube-node1
hostnamectl status
三个节点都要修改hosts文件
vim /etc/hosts
根据之前的ip配置输入
192.168.136.129 kube-master
192.168.136.131 kube-node1
192.168.136.132 kube-node2
二、Master节点配置
2.1 kubeadm初始化集群
kubeadm init命令常用的参数:
- kubernetes-version:指定Kubernetes的版本,博主选择v1.21.1这个版本,当前最新版。
- pod-network-cidr:指定pod网络的IP地址,它的值取决于你选择哪个网络,比如博主选择的是Flannel网络,因此值需要指定为10.244.0.0/16,因为Flannel网络相对于其他网络要简单一些,对于刚开始搭建Kubernetes集群比较友好,需要的配置较少,功能也较为完善。
- apiserver-advertise-address:指定master节点发布的IP地址,如果不指定,则会自动检测网络接口,通常是内网IP。
- ignore-preflight-errors:检查错误将显示为检查的警告列表。值为all会忽略所有检查中的错误。
执行命令,初始化之前先启动docker,否则会报错
#--pod-network-cdir = 10.244.0.0/16 指定使用flannel网络
#--kubernetes-version = v1.21.1 设置kubernetes版本,默认最新版
#--apiserver-advertise-address =192.168.136.129 指向master节点IP
kubeadm init --kubernetes-version=v1.21.1 --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=192.168.136.129
初始化成功
按照输出的日志继续操作
执行之前可以修改/etc/kubernetes/admin.conf文件的ip改为主机名
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
2.2 集群网络配置
查看节点,当前master节点NotReady
kubectl get nodes
查看所有pod,coredns等待状态
kubectl get pods --all-namespaces
开始配置网络:
1.下载kube-flannel.yml
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
无法连接,可以先下载到本地,使用Xshell拖进去虚拟机。
2.执行命令,使用该配置安装flannel插件
kubectl apply -f kube-flannel.yaml
3.观察pods,正在初始化flannel网络
watch kubectl get pods --all-namespaces
4.查看pod的描述
kubectl describe pods kube-flannel-ds-k52ln -n kube-system
网络配置完成之后,查看nodes,主节点Ready
三、Node节点配置,添加到集群
1.获取kube-node1、kube-node2的加入集群命令
kubeadm token create --help
kubeadm token create --print-join-command
2.在kube-node1、kube-node2执行加入集群命令
kubeadm join kube-master:6443 --token pjwket.9ebef8ypxngsumx6 --discovery-token-ca-cert-hash sha256:cf0bdeee5e164568bd4adc34384c1ff68e97352afdade6638a6938c87588e6c9
3.主节点上查看nodes状态,可以看到另外两个节点正在初始化,过一会儿就Ready了
watch kubectl get nodes -o wide
三个节点都安装了flannel插件
到此为止k8s集群就搭建成功啦!