【KubeEdge初尝试小白教程】Centos7.4+K8Sv1.22.2(kubeadm)+KubeEdgev1.10.0部署保姆教程

对于一个以后可能要经常面对网络不佳的网边设备的小白来说,云原生的下一步当然就是边缘计算啦~
边缘计算已经有很多现成的框架了,CNCF孵化最早的就是KubeEdge,开源社区,量级很轻,部署简单,通俗易懂,所以小白选择在上面进行边缘部署尝试,过程非常行云流水,推荐入手

KubeEdge与K8S版本兼容

官方文档有描述,见Kubernetes compatibility:
在这里插入图片描述
本文选择的是在K8S-1.22.2上部署KubeEdge-1.10.1,想部署最新版本的,将下文命令中一些版本号替换掉就好了。

(一)虚拟机配置

本文在虚拟机环境下进行实验,软件选择Vmare WorkStation,虚拟机镜像采用Centos7.4,具体虚拟机配置见我的上一篇文章第一小节:win11系统+VMare16pro+Centos7虚拟机+kubespray-2.15.0一键部署k8s集群 保姆级教程

同样的,作为三台机器同时操作的辅助工具,MOBAXterm的安装也请参考这篇文章,全部ssh配置好之后就可以愉快地在同一个界面上操作三台虚拟机了。

(二)K8S v1.22.2 (Kubeadm)安装

众所周知K8S有多种部署方式,包括但不限于kubeadm、二进制、kubespray…本文选择kubeadm,主要是因为简单方便,而且Kubeadm的安装过程有助于理解后续keadm的安装和节点加入(对于小白来说相辅相成)。
本文用于配置的虚拟机情况:

IPhostname
192.168.214.150ke-cloud
192.168.214.151ke-edge1
192.168.214.152ke-edge2
1.前置环境–国内镜像源(三台一起)

这一步如果会科学上网其实就不需要了,如果不能科学上网,就要把yum镜像源换成国内的(比如阿里源),直接修改yum.repos.d下的关于k8s的配置文件就行,这里应该属于重新开文件写入的情况:
打开kubernetes.repo:

cat >> /etc/yum.repos.d/kubernetes.repo << EOF

写入以下内容:

[kubernetes]
name=Kubernetes Repo
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
enabled=1
EOF
2.前置环境–更新Yum源并安装docker(三台一起)

更新yum源:

yum -y update

安装docker(本文直接默认安装最新版,需要指定版本可以在命令里加版本号)

yum  install docker-ce
3.前置环境–检查一下Hostname并写入/etc/hosts(三台一起)

查看hostname命令:

hostname

本文三个节点分别名为ke-cloud,ke-edge1,ke-edge2,具体对应IP见上表,确定好hostname对应之后,将其写入hosts文件,这样后续kubeadm自动部署的时候能顺利找到节点:

cat >> /etc/hosts << EOF
192.168.214.150     ke-cloud
192.168.214.151   ke-edge1
192.168.214.152     ke-edge2
EOF
4.前置环境–关闭防火墙、selinux并禁用swap(三台一起)

基本操作了,防止后续节点之间的通讯或者和远端的通讯被安全设施bang掉

#关掉并禁止防火墙
systemctl stop firewalld & systemctl disable firewalld
# 关掉并禁止selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config
setenforce 0
getenforce
# 永久关闭swap分区
vim /etc/fstab
注释掉/dev/mapper/centos-swap swap                    swap    defaults        0 0这一行即可
5.开始安装Kubeadm组件(三台一起)

这里主要依靠yum源安装,命令很简单:

yum -y install kubelet-1.22.2-0 kubeadm-1.22.2-0 kubectl-1.22.2-0  //版本号可以根据需求更改

下载好之后,最好把一些组件连同docker加入开机启动,这样以后挂起关机也不用重新启动:

# docker加入开机启动
systemctl start docker && systemctl enable docker
# kubelet加入开机启动
systemctl enable kubelet
6.主节点初始化k8s-master(只在主节点进行)
kubeadm init --kubernetes-version=1.22.2  \   #该参数指定k8s版本
--apiserver-advertise-address=192.168.214.150  \  #该参数是主节点IP
--image-repository registry.aliyuncs.com/google_containers  \ #指定下载部署组件的镜像源
--service-cidr=10.10.0.0/16 --pod-network-cidr=10.122.0.0/16  #一些内网配置,可以直接用这个

配置成功会显示出如何加入节点的代码:
在这里插入图片描述
PS:配置过程中可能会出现很多奇奇怪怪的报错,比如unhealthy啦,port:xxxx unreachble啦,这个后续补充,毕竟Bug千千万。

7.其他节点加入集群 & 配置网络插件

复制上面最后那段kubeadm join的命令到其他机子上,可以实现加入节点,但是此时查看节点情况:
kubectl get nodes
可能发现节点状态都是NotReady:
在这里插入图片描述
这是因为网络插件还没配好,所以下一步就是下载网络插件,calico和fannel都可以,这里选择calico:

curl https://docs.projectcalico.org/manifests/calico.yaml -O
kubectl apply -f calico.yaml

此时再看节点应该就是Ready了,不行就再刷新几下
在这里插入图片描述
至此,k8s集群部分就配置完成了,下一步就是在现有集群上配置KubeEdge了。

(三)KubeEdge v1.10.0部署安装

其实根据前面的版本表不难发现,在k8s 1.22.2上几乎可以装各种版本的KubeEdge,因此不想装v1.10.0的也可以自行替换版本号。
首先,我们要在准备好的所有节点上下载kubeedege相关组件:

# keadm,类似kubeadm的KE部署包
wget https://github.com/kubeedge/kubeedge/releases/download/v1.10.0/keadm-v1.10.0-linux-amd64.tar.gz
# 提前下载kubeedge压缩包和校验文件
wget https://github.com/kubeedge/kubeedge/releases/download/v1.10.0/kubeedge-v1.10.0-linux-amd64.tar.gz
wget https://github.com/kubeedge/kubeedge/releases/download/v1.10.0/checksum_kubeedge-v1.10.0-linux-amd64.tar.gz.txt
1.云节点配置

下载好上述配置文件后,由于云端节点要负责初始化,比较重要,所以先配置云端节点ke-cloud
首先解压keadm压缩包,并将其拷贝到集群主节点目录下(即/usr/bin):

tar -xvf keadm-v1.10.0-linux-amd64.tar.gz
cp keadm-v1.10.0-linux-amd64/keadm/keadm /usr/bin/

这样keadm才能在节点上被查找到并且运行。
而对于下载好的kubeedge压缩包和校验文件,可以先把它们存在/etc/kubeedge目录下:

mkdir /etc/kubeedge/
cp kubeedge-v1.10.0-linux-amd64.tar.gz /etc/kubeedge/
cp checksum_kubeedge-v1.10.0-linux-amd64.tar.gz.txt /etc/kubeedge/

然后即可在云节点进行边缘集群初始化:

keadm init --advertise-address=192.168.214.150 --kubeedge-version=1.10.0

部署过程可能会卡网络,建议此处加大力度科学上网。
在这里插入图片描述
可以用下面语句查看cloudcore进程是否已经在进行:

ps -ef|grep cloudcore

为了防止以后挂机重开之后还要再重启服务,将cloudcore相关设施也加入开机自启动:

cp /etc/kubeedge/cloudcore.service /etc/systemd/system/
systemctl daemon-reload
systemctl start cloudcore.service
systemctl enable cloudcore.service

然后可以生成云节点的token,通过Token可以让其他边缘节点加入:

keadm gettoken
2.边缘节点配置

边缘节点在下载好Keadm,kubeedge和check_sum之后,同样也要将其解压缩并复制到工作目录下:

tar -xvf keadm-v1.10.0-linux-amd64.tar.gz
cp keadm-v1.10.0-linux-amd64/keadm/keadm /usr/bin/

然后将上面云节点生成的token复制过来,用下面语句将边缘节点加入云端:

keadm join --cloudcore-ipport=192.168.134.161:10000 --token=上面复制的

如果没有网络问题,那么Kubeedge就顺利安装成功了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值