在线部署kubeedge 1.6详细教程(Ubuntu)
基本环境:
操作系统:centos7;Ubuntu;
docker:20.10.7
角色 | 系统 | IP |
---|---|---|
master | centos7(amd64) | 172.16.0.114 |
edge | ubuntu(arm64) | 172.16.0.113 |
kubeedge部署须知
- master以成功部署kubernetes,并且master结点处于ready状态.
- edge未执行kubeadm join命令
kubeedge部署配置
一. master:
1.参考该文章对完成master结点完成一下操作:
kubernetes部署
(1)关闭防火墙
(2)关闭 selinux
(3)关闭swap分区
(4)更改主机名
(5) 在 master中 添加 hosts:
nano /etc/hosts #在该文件中添加以下信息.
172.16.0.114 master
172.16.0.113 edge
(6)时间同步
(7)安装docker/kubeadm/kubelet /kubectl
(8)执行kubeadm init操作,完成kubernetes的部署,并保证master处于ready状态
2. 部署golang与gcc
(1)下载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
#添加以下内容
export GOROOT=/usr/local/go
export GOPATH=/data/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
#使配置生效
source /etc/profile
go version #查看golang版本
(2)部署gcc
yum -y install gcc
gcc -v #查看gcc版本
3. 使用keadm部署kubeedge
(1)下载keadm
#可自行前往官网下载
wget https://github.com/kubeedge/kubeedge/releases/download/v1.4.0/keadm-v1.4.0-linux-amd64.tar.gz
#解压压缩包
tar -zxvf keadm-v1.4.0-linux-amd64.tar.gz
#master部署kubeedge
cd keadm-v1.4.0-linux-amd64/keadm
#在keadm目录下,执行init操作(ip为master结点ip):
./keadm init --advertise-address="172.16.0.114" --kubeedge-version=1.6.0
#【注】在这里会出现错误,原因为raw.githubusercontent.com无法访问
#解决方案:在/etc/hosts文件中,加入以下内容:
# GitHub Start
185.199.109.133 raw.githubusercontent.com
185.199.108.133 raw.githubusercontent.com
185.199.111.133 raw.githubusercontent.com
185.199.110.133 raw.githubusercontent.com
# GitHub End
#再次执行init即可
【注】若因connected失败导致kubeedge未能成功下载,可点击此处下载kubeedge放到/etc/kubeedge目录下并将其解压,之后重新执行init命令
出现以下内容即为部署成功
在keadm-v1.4.0-linux-amd64/keadm目录下执行./keadm gettoken获取token
二、edge1:
- 关闭防火墙
ufw disable #关闭并永久关闭
- 关闭swap分区
sudo swapoff -a #临时关闭
sudo vi /etc/fstab #永久关闭,注释掉带有swap的一行
- 安装docker
sudo curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
systemctl start docker&&systemctl enable docker
- 部署golang与gcc
sudo apt install golang-go
sudo apt-get install gcc
sudo go version &&gcc -v #查看版本
- 修改/etc/hosts
nano /etc/hosts #在该文件中添加以下信息.
172.16.0.114 master
172.16.0.113 edge
- 更新时区
#校准时间
sudo tzselect
#首先选择亚洲Asia,继续选择中国China,最后选择北京Beijing。.
sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#可以使用date查看时间
- 使用keadm在edge结点部署kebeedge
#下载keadm
wget https://github.com/kubeedge/kubeedge/releases/download/v1.4.0/keadm-v1.4.0-linux-arm64.tar.gz
#解压压缩包
tar -zxvf keadm-v1.4.0-linux-arm64.tar.gz
#master部署kubeedge
cd keadm-v1.4.0-linux-arm64/keadm
#在keadm目录下,执行join操作(注意修改ip与edgenode-name,并在token后添加在master中获取到的token):
./keadm join --cloudcore-ipport=172.16.0.114:10000 --edgenode-name=test --kubeedge-version=1.6.0 --token=
#【注】在这里会出现错误,原因为raw.githubusercontent.com无法访问
#解决方案:在/etc/hosts文件中,加入以下内容:
# GitHub Start
185.199.109.133 raw.githubusercontent.com
185.199.108.133 raw.githubusercontent.com
185.199.111.133 raw.githubusercontent.com
185.199.110.133 raw.githubusercontent.com
# GitHub End
#再次执行init即可
【注】若因connected失败导致kubeedge未能成功下载,可点击此处下载kubeedge放到/etc/kubeedge目录下并将其解压,之后重新执行init命令
出现以下内容即为部署成功
三、kubeedge部署隐藏问题
cloudcore与edgecore成功部署之后,在master中执行kubectl get nodes可能会出现不显示edge结点的情况
解决方案:
在edge结点上修改/etc/kubeedge/edgecore.service文件
将edgecore的目录/usr/local/bin/edgecore修改为/etc/kubeedge/edgecore
修改完成后并重启edgecore.service服务,在master中即可查看到edge结点与master结点