文章目录

  • 一、克隆两台虚拟机
  • 二、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

初始化成功

k8s 修改容器组所在节点ip k8s集群修改ip_k8s 修改容器组所在节点ip


按照输出的日志继续操作

k8s 修改容器组所在节点ip k8s集群修改ip_初始化_02


执行之前可以修改/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

k8s 修改容器组所在节点ip k8s集群修改ip_初始化_03


查看所有pod,coredns等待状态

kubectl get pods --all-namespaces

k8s 修改容器组所在节点ip k8s集群修改ip_网络配置_04


开始配置网络:

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

k8s 修改容器组所在节点ip k8s集群修改ip_初始化_05


4.查看pod的描述

kubectl describe pods kube-flannel-ds-k52ln -n kube-system

k8s 修改容器组所在节点ip k8s集群修改ip_IP_06


网络配置完成之后,查看nodes,主节点Ready

k8s 修改容器组所在节点ip k8s集群修改ip_网络配置_07

三、Node节点配置,添加到集群

1.获取kube-node1、kube-node2的加入集群命令

kubeadm token create --help

k8s 修改容器组所在节点ip k8s集群修改ip_初始化_08

kubeadm token create --print-join-command

k8s 修改容器组所在节点ip k8s集群修改ip_k8s 修改容器组所在节点ip_09

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

k8s 修改容器组所在节点ip k8s集群修改ip_IP_10


三个节点都安装了flannel插件

k8s 修改容器组所在节点ip k8s集群修改ip_初始化_11

到此为止k8s集群就搭建成功啦!