跳到内容跳到页面导航:上一页 [access key p]/下一页 [access key n]
documentation.suse.com / SUSE Edge 文档 / 使用的组件 / Akri

12 Akri

Akri 是一个 CNCF 沙箱项目,旨在发现叶设备并将其呈现为 Kubernetes 原生资源。它还允许为每个发现的设备调度一个 Pod 或作业。设备可以在节点本地,也可以联网,并可以使用多种协议。

https://docs.akri.sh 上提供了 Akri 的上游文档

12.1 SUSE Edge 如何使用 Akri?

警告
警告

Akri 目前在 SUSE Edge 堆栈中以技术预览的形式提供。

每当需要发现叶设备以及针对叶设备调度工作负载时,都可以使用 Edge 堆栈中包含的 Akri。

12.1.1 安装 Akri

Akri 在 Edge Helm 储存库中作为 Helm chart 提供。建议的 Akri 配置方法是使用给定的 Helm chart 部署不同的组件(代理、控制器、发现处理程序),然后使用您偏好的部署机制部署 Akri 的配置 CRD。

12.1.2 配置 Akri

使用 akri.sh/Configuration 对象来配置 Akri,该对象包含有关如何发现设备,以及发现了匹配的设备时要执行哪种操作的所有信息。

下面列出了示例配置的明细,其中解释了所有字段:

apiVersion: akri.sh/v0
kind: Configuration
metadata:
  name: sample-configuration
spec:

此部分描述发现处理程序的配置,您必须指定处理程序的名称(作为 Akri chart 一部分提供的处理程序包括 udevopcuaonvif)。discoveryDetails 与特定的处理程序相关,有关其配置方法,请参见处理程序的文档。

  discoveryHandler:
    name: debugEcho
    discoveryDetails: |+
      descriptions:
        - "foo"
        - "bar"

此部分定义要为每个已发现设备部署的工作负载。该示例显示了 brokerPodSpecPod 配置的最低版本,在此处可以使用 Pod 规范的所有常规字段。其中还显示了 resources 部分中用于请求设备的 Akri 特定语法。

您也可以使用作业来代替 Pod,方法是改用 brokerJobSpec 键,并在其中提供作业的规范部分。

  brokerSpec:
    brokerPodSpec:
      containers:
      - name: broker-container
        image: rancher/hello-world
        resources:
          requests:
            "{{PLACEHOLDER}}" : "1"
          limits:
            "{{PLACEHOLDER}}" : "1"

这两个部分显示如何配置 Akri 以便为每个中介程序部署一个服务 (instanceService),或指向所有中介程序 (configurationService)。这些部分包含与常规服务相关的所有元素。

  instanceServiceSpec:
    type: ClusterIp
    ports:
    - name: http
      port: 80
      protocol: tcp
      targetPort: 80
  configurationServiceSpec:
    type: ClusterIp
    ports:
    - name: https
      port: 443
      protocol: tcp
      targetPort: 443

brokerProperties 字段是一个键/值存储,它将作为附加环境变量公开给请求已发现设备的任何 Pod。

capacity 是已发现设备的并发用户的允许数量。

  brokerProperties:
    key: value
  capacity: 1

12.1.3 编写和部署更多发现处理程序

如果现有的发现处理程序无法涵盖您的设备使用的协议,您可以遵循此指南编写自己的发现处理程序。

12.1.4 Akri Rancher 仪表板扩展

Akri 仪表板扩展允许您使用 Rancher 仪表板用户界面来管理和监控叶设备,并在发现这些设备后运行工作负载。

安装扩展后,您可以使用群集资源管理器导航到任何已启用 Akri 的受管群集。在 Akri 导航组下,可以看到“Configurations”(配置)和“Instances”(实例)部分。

Akri 扩展配置

配置列表提供了有关配置发现处理程序和实例数量的信息。单击名称会打开配置细节页面。

Akri 扩展配置细节

您还可以编辑或创建新的配置。扩展允许您选择发现处理程序、设置中介程序 Pod 或作业、配置配置和实例服务,以及设置配置容量。

Akri 扩展配置编辑

实例列表中会列出已发现的设备。

Akri 扩展实例列表

单击实例名称会打开细节页面,在其中可以查看工作负载和实例服务。

Akri 扩展实例细节