拆解Shifu——从部署K8s集群到玩转数字孪生
2022/9/10 3:23:01
本文主要是介绍拆解Shifu——从部署K8s集群到玩转数字孪生,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
拆解Shifu——从部署K8s集群到玩转数字孪生
在生产环境中 Shifu可以直接部署在K8s集群中,并且Shifu的生产部署非常容易。
但在测试时,我们需要在本地接入设备做一些调试的工作,需要进行本机安装测试,您需要在本地创建集群,一些工具如 kind 可以帮助我们在自己的电脑上创建这样的集群。
简介
- 此篇文章拆解了Shifu安装包的内容,使用命令行一步一步在本地创建集群。这种方式有助于您理解Shifu运作过程中使用的组件。
步骤
- 第一步:安装 Docker Desktop
信息 💾
Docker Desktop 能够在桌面操作系统(Windows/ macOS/ 桌面版Ubuntu 等)安装Docker,并提供可视化的界面可供管理。
Shifu 使用 Docker 将每一个实际的物理设备 (edgeDevice) 转为一个数字孪生设备 (deviceShifu), Docker 所起的作用主要是虚拟化和隔离。
请查看_Docker_官网来在自己的电脑上安装 Docker Desktop 。
- 第二步:确认 Docker Desktop 已安装且启动
使用下面的命令来确定 Docker Desktop 已安装且启动,输出如下则说明成功:
$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
如果输出为
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
则说明 Docker Desktop 未启动;
如果输出为
command not found
则说明 Docker Desktop 未安装。
- 第三步:安装 kubectl
信息 💾
kubectl 是 Kubernetes 的命令行工具,帮助你在 Kubernetes集群 中执行命令。你可以用 kubectl 来部署应用、查看和管理集群资源、查看日志。
请查看K8s官网的内容以安装_kubectl_
确认 kubectl 已安装:
$ kubectl version --client --output=yaml clientVersion: buildDate: "2022-08-23T17:44:59Z" compiler: gc .....
- 第四步:安装kind
信息 💾
kind 可以让我们在本机创建 Kubernetes集群 用于测试。
如果已经安装了 Go,可以使用下面的命令安装:
$ go install sigs.k8s.io/kind@v0.14.0
如果未安装 Go ,可以查看 kind 的官方文档来选择安装方式。
确认 kind 已安装:
$ kind --version kind version 0.14.0
- 第五步:创建集群
我们使用 kind 来创建集群:
$ sudo docker pull kindest/node:v1.24.0 $ sudo kind create cluster --image="kindest/node:v1.24.0" Creating cluster "kind" ... ✓ Ensuring node image (kindest/node:v1.24.0) 🖼 ✓ Preparing nodes 📦 ✓ Writing configuration 📜 ✓ Starting control-plane 🕹️ ✓ Installing CNI 🔌 ✓ Installing StorageClass 💾 Set kubectl context to "kind-kind"
信息 💾
本地测试时使用的K8s集群中会安装和K8s相关的管理内容、Shifu 的控制器等;之后接入设备时则会在其中创建设备的数字孪生。
注:确认集群已创建
$ sudo kubectl cluster-info --context kind-kind Kubernetes control plane is running at https://127.0.0.1:52138 CoreDNS is running at https://127.0.0.1:52138/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy $ sudo kind get clusters kind
注:重新创建
如出现问题,可删除集群并重新创建:
$ sudo kind delete cluster Deleting cluster "kind" ... $ sudo kind create cluster --image="kindest/node:v1.24.0"
- 第六步:安装 Shifu
Shifu的安装非常方便, pkg/k8s/crd/install/shifu_install.yml
为安装脚本,一键安装即可:
# clone Shifu仓库 git clone https://github.com/Edgenesis/shifu.git cd shifu # 在集群中安装Shifu sudo kubectl apply -f pkg/k8s/crd/install/shifu_install.yml
注:提前下载镜像
k8s/crd/install/shifu_install.yml
中使用到的镜像有 quay.io/brancz/kube-rbac-proxy:v0.12.0
和 edgehub/shifu-controller:latest
,如果下载出问题,可以提前下载镜像到本机并导入集群。
备注 🕹️
这种方法会占用本机存储。使用完毕后可以用命令
sudo docker rmi<image_id>
来删除本机镜像。
- 下一步
恭喜!您已经在本机开启了一个集群,而且在该集群中安装了Shifu。接下来您可以尝试在集群中接入设备了!
本文由边无际授权发布
这篇关于拆解Shifu——从部署K8s集群到玩转数字孪生的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-242024年最值得使用的任务看板管理工具,6大推荐有何区别
- 2024-11-24AI助手、跨平台集成、数据安全,这些功能如何彻底改变你的项目管理方式?
- 2024-11-245款提升工作专注力的办公软件,哪一款最适合你?
- 2024-11-24适合J型人格的办公软件排行,5款完美支持工作计划管理的工具
- 2024-11-24多平台无缝集成对项目管理有多重要?你的工具达标了吗?
- 2024-11-24团队知识库怎么建?教你用看板打造灵感共享平台
- 2024-11-24项目管理工具哪个好?这5款操作简单、页面简洁的工具帮助提升效率
- 2024-11-24适合不同科研需求的团队协作工具推荐
- 2024-11-23跨平台解决方案资料:新手入门必备指南
- 2024-11-23跨平台开发工具与框架资料入门教程