DaemonSet类型服务部署
所有文档

          智能边缘 BIE

          DaemonSet类型服务部署

          名词定义

          工作负载:为服务在端侧部署的时候应用部署类型,现在支持 deployment 类型和 daemonset 类型,概念等同于 k8s 中的定义

          Deployment型负载:一个定义及管理多副本应用服务(即多个副本 Pod)的对象,提供多副本部署、亲和性部署等能力,一般用于无状态服务的部署

          DaemonSet型负载:会保证在每个节点上都运行一个容器副本,支持亲和性部署等能力,常用来部署一些集群的日志、监控或者其他系统管理应用

          功能简介

          应用是用于定义在一个或一组边缘节点上的部署任务,会将服务配置存储卷配置下发到匹配的目标设备上,并进行部署。应用根据边缘节点的标签来匹配目标设备,每一次应用信息的更改都会自动地下发到目标设备,并进行服务重部署及配置的更新。

          应用包含一个或以上的服务,在服务的高级设计项中可以选择工作负载类型,现在支持 deployment 类型和 daemonset 类型,默认服务为 Deployment 类型的负载。在选择 DaemonSet 类型的负载并部署后,将在每个集群中的节点上生成一个副本。

          使用流程

          应用列表

          应用列表分页展示出当前实例下所有的应用信息。

          在实例详情页的左侧菜单中点击应用部署,您将看到如下界面

          app.png

          右上角搜索框支持对应用名称进行模糊查询。

          创建容器应用

          基本信息

          应用列表页面点击创建应用进入应用创建页面。

          app1.png

          填写应用基本信息

          • 【名称】表示应用的名称,不可为空,不可重复
          • 【应用类型】表示应用的类型,此处选择容器应用
          • 【描述】表示应用的文字性描述
          • 【标签】表示用来标识应用的信息

          点击添加标签进入标签设置界面,填写应用标签。

          applable.png

          服务配置

          点击下一步进入服务配置界面。

          addserver.png

          点击添加服务进入服务配置页面

          ubuntu.png

          填写容器服务基本信息

          • 【名称】表示服务的名称,不可为空。同一个应用中的服务名称不可重复,包含相同服务名称的不同应用部署到同一个节点会导致其中一个部署报错
          • 【镜像地址】表示服务对应的镜像地址,不可为空。该地址应该填写在边缘节点(设备)上可以通过docker拉取的镜像地址
          • 【卷配置】表示容器挂载的存储卷信息,支持hostPath、配置项和密文三种卷的挂载。 hostPath:挂载宿主机目录到容器目录;配置项:配置管理的配置信息;密文:配置管理里的密文信息。配置项创建在这里, 密文创建在这里,证书创建在这里
          • 【端口映射】表示容器内与宿主机的端口映射,支持TCP和UDP两种端口映射

          填写高级设置项

          • 【副本数】表副本表示服务启动的容器个数。当负载类型为DaemonSet时,不支持调整副本数量
          • 【环境变量】表示服务容器的环境变量
          • 【启动参数】表示启动时服务的参数
          • 【资源限制】表示启动服务容器的资源限制,目前支持设置CPU和内存
          • 【host网络】表示服务容器是否使用host网络,默认使用桥接网络
          • 【特权选项】表示是否使用特权模式挂载资源,一般在摄像头,GPU或FPGA等需要较高权限访问的特殊资源时,设置为是

          高级设置项中可以选择工作负载

          daemonset.png

          至此服务配置设置完成,点击确定关闭服务配置界面。

          如需要设置镜像凭证,点击引入凭证进入引入镜像凭证界面

          目标设备

          服务配置设置完成之后,点击下一步进入目标设备匹配界面

          m.png

          这里支持两种匹配方式,匹配标签单节点匹配

          其中匹配标签通过标签筛选机制选择合适的节点进行匹配关联。而单节点匹配则提供一种更轻量更简单选择方式,可以直接在列表中选择待匹配的某个节点进行关联

          例如,点击匹配标签,弹出标签匹配界面

          pipei.png

          在设置目标设备过滤条件的页面,支持两级标签筛选逻辑。通过单机节点/集群标签会筛选匹配到节点列表里满足标签条件的节点;通过子节点标签会在边缘部署时,对边缘设备集群中的节点进行筛选匹配,将服务调度到符合条件的边缘子节点上,这个功能主要在边缘为集群的场景下使用,你可以将服务调度到特定的满足要求的节点上,如一个需要GPU的服务需要调度到包含GPU硬件的节点上。

          输入想要匹配的node标签名称及值,如有需要可以进一步填写子节点标签值,点击确定,会自动匹配出符合条件的节点

          subm.png

          点击创建完成应用的创建,跳转到应用列表界面,就可以看到刚才创建的应用信息了

          image.png

          容器应用创建步骤到此全部完成。

          应用修改

          应用列表页面,点击准备修改应用名查看,进入应用详情页面

          image.png

          修改操作参考应用新建功能。

          注意:应用修改后最新的应用配置会自动地下发到匹配的边缘节点,并进行更新。

          应用删除

          应用列表页面,点击需要删除的应用后面的删除按钮

          image.png

          应用部署

          应用创建后,需要了解应用在边缘节点部署情况。打开应用详情页面

          image.png

          点击目标节点里的节点名,跳转到节点详情页面,边缘节点创建在这里

          image.png

          如果当前边缘节点没有在设备上安装,点击安装按钮,弹出安装命令窗口,本例以边缘设备运行k3s及docker为例:

          image.png

          如果边缘设备没有安装k3s,先复制docker安装命令,执行docker安装;再复制k3s安装命令,进行k3s安装;复制节点安装命令,在设备上执行。注意:需要设备已经连接网络,设备能够访问我们的云端服务,设备端安装k3s。如果设备端已经安装k8s和docker,直接复制节点安装命令,在设备上执行。

          下面以边缘设备已经安装了k3s及docker的安装方式如下:

          image.png

          期间可能需要输入用户密码。

          安装完成后,首先可以看到应用已部署。

          image.png

          且成功调度到了集群中包含 demo:02 的 31 节点上

          image.png

          应用部署更新

          上述示例中通过两级标签筛选最终限定了负载类型为 DaemonSet 的 app01 部署在了有demo02资源的包含 demo:02的 31 子节点上

          下面演示修改app01的匹配机制,使app01不再部署在单一子节点上

          在app01的详情页,点击删除子节点标签选择器

          image.png

          然后app01会自动重新匹配并部署下发,可以在匹配到的节点详情页看到部署状态

          image.png

          也可以在端上集群中查看部署情况

          image.png

          上一篇
          进程模式应用
          下一篇
          配置管理