边缘计算环境部署 docker、kubernetes、Kubeedge

本文详细介绍了如何在Ubuntu虚拟机上搭建kubeedge环境,包括主节点master和从节点node的软件安装、国内源更换、Docker和Kubernetes的配置,以及kubeedge的安装和节点间连接的验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 软件版本

主机配置为16G内存的win11系统,在VMware Workstation 17 PRO上创建两个Ubuntu虚拟机,分别作为主节点master(192.168.159.131)和从节点node(192.168.159.133)。相关的软件版本如下表所示:

节点Ubuntu版本docker版本kuberneteskubernetes
master22.04.324.0.71.20.21.10.3
node20.04.624.0.71.20.21.10.0

ubuntu在虚拟机上的安装可参考相关文档,本文中分配了2核CPU、4G内存和50G硬盘空间。

2 主节点master的软件安装与配置

2.1 准备工作

2.1.1 换国内源

cd /etc/apt/
sudo cp sources.list sources.list.bak
sudo vi sources.list 	#本文使用阿里云源
sudo apt-get update 	#换源后要更新列表
sudo apt-get upgrade

阿里云镜像源原码贴图如下:

deb-src https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse

# deb https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse

2.1.2 安装必要的工具软件

先安装net-tools、vim等常用的工具软件。

sudo apt-get install -y \
	net-tools \
	vim \
	ca-certificates \
	curl \
	gnupg \
	lsb-release \
	apt-transport-https

2.2 安装Docker

2.2.1 准备工作

添加 Docker 官方 GPG 密钥:

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

设置存储库:

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update 	#换源后不要忘记更新列表
sudo apt-cache madison docker-ce	#查看可安装的版本,此步可选

2.2.2 安装和配置

安装默认版本(24.0.7)

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

访问国外服务器网速较慢,可做如下配置。

sudo mkdir -p /etc/docker

注意:node节点的驱动为cgroupfs!!!
而且json文件不允许有注释#等非法字符

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF

应用配置并重新启动docker

sudo systemctl daemon-reload
sudo systemctl restart docker
sudo docker run hello-world		#检查是否安装成功(即显示"Hello from Docker!...")

2.3 安装Kubernetes

2.3.1 准备工作

关闭防火墙和磁盘交换分区

sudo ufw disable    #系统启动时自动禁用防火墙
sudo swapoff -a		#关闭交换分区
sudo vim /etc/fstab	# 注释掉swap分区那一行,永久禁用swap分区

网络设置
设置2个k8s.conf文件,允许 iptables 检查桥接流量

cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

sudo sysctl --system	#应用设置

2.3.2 开始安装

下载公开签名秘钥并添加阿里云镜像源。

sudo curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
sudo cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
sudo apt-get update

开始安装kubelet、kubeadm、kubectl

sudo apt-get install -y kubelet=1.20.2-00 kubeadm=1.20.2-00 kubectl=1.20.2-00
sudo systemctl enable --now kubelet		#使服务生效

kubelet:在kubernetes集群中,每个Node节点都会启动kubelet进程,用来处Master节点下发到本节点的任务,管理Pod和其中的容器。
kubeadm:用于初始化 Kubernetes 集群的命令行工具。
kubectl:Kubernetes集群的命令行工具,通过kubectl能够对集群本身进行管理,并能够在集群上进行容器化应用的安装和部署。

2.3.3 初始化主节点master

在/etc/hosts中设置地址映射

sudo vim /etc/hosts

主节点和从节点的地址如下(用ifconfig查询地址):

192.168.159.131     master
192.168.159.133     node

主节点初始化(留意IP 、endpoint、version

sudo kubeadm init \
	--apiserver-advertise-address=192.168.159.131 \
	--control-plane-endpoint=master \
	--image-repository  registry.cn-hangzhou.aliyuncs.com/google_containers --kubernetes-version v1.20.2 \
	--service-cidr=10.96.0.0/12 \
	--pod-network-cidr=10.244.0.0/16

系统提示
等init完成,按照提示信息进行配置,生成的 kubeconfig 被保存到 ~/.kube/config 文件;配置文件描述了集群、用户和上下文。
需要用普通用户执行以下命令!!!

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

安装网络组件

curl https://docs.projectcalico.org/v3.20/manifests/calico.yaml -O
sudo kubectl apply -f calico.yaml
sudo kubectl get pods -A	#检查主节点是否完成初始化并准备就绪

2.4. 安装Kubeedge

2.4.1 准备安装文件

为避免网速过慢影响安装,提前从github下载kubeedge相关文件:
网址如下:https://github.com/kubeedge/kubeedge/releases/

kubeedge-v1.10.3-linux-amd64.tar.gz				//云端装了1.10.3 边端 1.10.0(同理替换就行)
keadm-v1.10.3-linux-amd64.tar.gz
checksum_kubeedge-v1.10.3-linux-amd64.tar.gz.txt

在/下载目录下,解压这些文件并将其放到指定文件夹:

sudo tar -zxvf keadm-v1.10.3-linux-amd64.tar.gz
sudo tar -zxvf kubeedge-v1.10.3-linux-amd64.tar.gz
sudo cp -r keadm-v1.10.3-linux-amd64  /etc/kubeedge/
sudo cp -r kubeedge-v1.10.3-linux-amd64 /etc/kubeedge/
sudo cp checksum_kubeedge-v1.10.3-linux-amd64.tar.gz.txt /etc/kubeedge/

之后将keadm-v1.10.3-linux-amd64/keadm/ 将其配置进入环境变量,方便使用

sudo cp keadm-v1.10.3-linux-amd64/keadm/keadm /usr/sbin/

在这里插入图片描述

2.4.2 启动cloudcore

普通用户下运行(注意IP 、version、/home/用户名/

sudo keadm init --advertise-address=192.168.159.131 --kubeedge-version=1.10.3 --kube-config=/home/ubuntu2204/.kube/config

启动cloudcore
用指令查询cloudcore进程

ps -ef | grep cloudcore		#如果查到2个cloudcore进程,表明启动成功

在这里插入图片描述

取出token
Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。

sudo keadm gettoken

token

3 从节点node的软件安装与配置

3.1 准备工作

(见2.1)

3.2 安装Docker

(见2.2)
把docker驱动(/etc/docker/daemon.json)改为cgroupfs

{
  "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=cgroupfs"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}

3.3 安装Kubeedge

3.3.1 准备安装文件

(见 2.4.1)

3.3.2 启动edgecore并作为从节点加入cloudcore

端口号常用10000、10002
(注意IP 、version

sudo keadm join --cloudcore-ipport=192.168.159.131:10000 --edgenode-name=node --kubeedge-version=1.10.0 --token= #自行复制token

在这里插入图片描述
检查edgecore服务是否正常启动

sudo systemctl status edgecore

edge status ok

3.3.3 查看两个节点的连接

在云端输入命令

kubectl get nodes

在这里插入图片描述

kubectl get nodes -o wide #可查看更详细信息

在这里插入图片描述

参考资料

kubernetes+KubeEdge云边环境的安装与部署
安装edgecore报错:failed to check the running environment: kube-proxy should not running on edge node…
边缘计算环境搭建之一——kubeedge安装与配置

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值