KubeEdge萌新的安装部署

2020/10/30 08:04
阅读数 2.2K

虚拟机创建

第一步:创建两台虚拟机,本文使用的是centos7。经过前几次的失败教训,将磁盘空间设置的大一点40G,内存4GB,处理器4核。(最小安装即可)
两台虚拟机一台作为master一台作为node1
第二步:创建完成后登录名需要记住!一会XSHELL使用的登录名就是这个登录名!虚拟机登陆完成后必须先输入

echo ONBOOT=yes >> /etc/sysconfig/network-scripts/ifcfg-ens33    

#centos7打开网关的方法,输完以后要在使用一次 ip addr 查看一下地址不然不生效

输完后重启虚拟机

XSHELL登陆方式

连接两台虚拟机,主机部分填写虚拟机的ip地址
虚拟机的ip地址查询方式:ip addr(一般是192开头的那个)
如果连接成功就会提示输入用户名,用户名就是刚刚登陆虚拟机时输入的用户名,密码就是登陆时输入的密码。(这里建议记住用户名和密码,下次登陆就会方便很多)

k8s部署

刚开始跟着官网的操作做了n次都失败了,看了很多帖子于是选择用部署kubernetes的方式进行部署master节点。(k8s部署的文件均来自于尚硅谷,具体操作也可以观看b站视频BV1GT4y1A756,具体链接https://www.bilibili.com/video/BV1GT4y1A756?p=7)再次感谢尚硅谷!!良心!!!可以从第6集开始看(只看master节点布置部分即可)
配置两台节点都需要配置的信息(选择发送键输入…可以使所有节点共享输入信息)
在这里插入图片描述

# 安装wget指令
$yum install wget

# 关闭防火墙
$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    # 永久

# 根据规划设置主机名(<hostname>处填写自己想规定的名字,本文将master节点命名为m1,edge节点命名为m2。注:这<>两个符号不用输)
$hostnamectl set-hostname <hostname>

# 在master添加hosts(注:此处的ip地址写两台虚拟机的ip地址,名称写上一步设置的主机名,并且这一步操作仅在master节点内操作)
$cat >> /etc/hosts << EOF
192.168.44.146 k8smaster
192.168.44.145 k8snode1
192.168.44.144 k8snode2
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,同时也是两个节点都要安装

$ wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
$ yum -y install docker-ce-18.06.1.ce-3.el7
$ systemctl enable docker && systemctl start docker
$ docker --version
Docker version 18.06.1-ce, build e68fc7a
$ cat > /etc/docker/daemon.json << EOF
{
  "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
EOF

添加阿里云YUM软件源

$ cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

安装kubeadm,kubelet和kubectl(用比较稳定的版本)

$ yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0
$ systemctl enable kubelet

部署Kubernetes Master

由于默认拉取镜像地址k8s.gcr.io国内无法访问,这里指定阿里云镜像仓库地址

$ kubeadm init \
  --apiserver-advertise-address=192.168.213.129 \
  --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
#注意第一条命令要把ip地址改成master的ip地址
#其他指令的ip地址只要不和master的地址冲突即可
#并且要把每句指令后的\删除掉,再全部复制到xshell中执行

如果出现图中语句,则说明成功了,并且复制图中标白部分并执行
在这里插入图片描述
完成后输入

$kubectl  get node

会发现此时的master节点是NotReady状态,然后我们就需要部署CNI网络插件

部署网络插件CNI

$kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
#这条指令可能会失败,可以多试几次(自己当时试了七八次才成功)
#如果出现关于swap的错误就输入 swapoff -a

$kubectl get pods -n kube-system
#这条指令用于查看文件的拉取状况
NAME                          READY   STATUS    RESTARTS   AGE
kube-flannel-ds-amd64-2pc95   1/1     Running   0          72s

在这里插入图片描述
一定要耐心等!!!因为自己用的是校园网,有一次等了2个小时…
成功后如图
在这里插入图片描述


$wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
$ubectl apply -f kube-flannel.yml
#这两句命令是在上面语句实在执行不了的时候再进行使用

此时再使用

$kubeclt get node

在这里插入图片描述
如图则说明master节点部署成功了!

edge端的Mosquitto安装

更新yum源

$yum -y update

添加EPEL软件库

$yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

下载mosquitto

$yum -y install mosquitto

KubeEdge的安装与配置

在master端执行即可
下载golang

$wget https://golang.google.cn/dl/go1.15.3.linux-amd64.tar.gz
#如果这步下的慢可以自己上官网下
$tar -zxvf go1.15.3.linux-amd64.tar.gz -C /usr/local

配置golang环境

$vim /etc/profile
#这一步不成功可能需要更新vim  指令为 yum -y install vim-enhanced
#把下面这段复制到文本末尾
export HOME=/root
export GOROOT=/usr/lib/go
export GOPATH=/usr/local/go
export PATH=$PATH:$GOPATH/bin
#按键盘上的Ins键为输入,复制好以后按ESC,再按shift  +   :     ,输入wq!即可保存退出

继续输入

$source /etc/profile
$mkdir -p /data/gopath && cd /data/gopath
$mkdir -p src pkg bin

下载KubeEdge源码

$git clone https://github.com/kubeedge/kubeedge $GOPATH/src/github.com/kubeedge/kubeedge
#git指令安装:  yum install -y git
#下载失败就多试几次

keadm安装

keadm的安装这个大佬已经讲的很清楚了,跟着步骤走就行,文中提示会出错的地方要在cloud端和edge端都进行修改,不能只修改cloud端!!!
链接:[link]

当修改完错误并执行./keadm init后,下载也会很慢(至少我的校园网是这样的…),耐心等待,按照步骤先进行cloud端的再进行edge端的
都结束后输入

$kubectl get node

成功啦!
在这里插入图片描述

总结

搭环境这个环节用了很长的时间,遇到了很多的坑,也是受到了网上很多文章视频的帮助,秉持开源理念,所以想要把这个过程记录下来分享给大家来也方便以后自己再看。自己是第一次接触边缘计算方面的知识,所以很多方面都不是那么熟悉,如果大佬们发现文中哪里写的有问题还请指出,希望能够帮到大家!(自己的文字功底也很一般,如果哪里有看不懂或者指令有问题请评论私信告知我)

参考的文章及视频

《KubeEdge边缘计算框架,小白也能部署了!》链接:link
《Kubeedge1.4.0安装》链接:link
《解决GitHub的raw.githubusercontent.com无法连接问题》链接:link
《KubeEdge v1.3部署指南!》链接:link
《k8s教程由浅入深-尚硅谷》链接:link



展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部