华为云用户手册

  • GitOps概述 GitOps是使用Git仓库来管理应用的部署模板,将Git仓库作为Kubernetes集群中部署应用的唯一来源,实现应用的持续部署,实现多集群的GitOps持续交付,满足应用的高可用部署、系统组件多集群分发等需求。GitOps假设每一个基础设施都被表示为一个具有版本控制功能的存储系统中的文件,并且有一个自动化的过程可以无缝地将更改的应用同步到应用程序运行环境。 而结合Kubernetes生态中的声明式API、Controller Loop可以更好得实现这一思想,该系统从一开始就遵循声明性规范以及最终一致性和收敛性的原则。
  • 约束与限制 关闭监控前,请仔细阅读以下注意事项,避免数据丢失或者相关资源继续产生费用。 kube-prometheus-stack插件处于“安装中”、“升级中”、“删除中”和“回滚中”时不允许关闭监控。 kube-prometheus-stack插件处于“运行中”、“部分就绪”和“安装失败”时关闭监控:对于华为云集群,系统将会更新kube-prometheus-stack插件以关闭数据上报功能;对于本地集群和附着集群,系统将会卸载kube-prometheus-stack插件。 kube-prometheus-stack插件处于“回滚失败”、“不可用”、“安装失败”、“删除失败”和“未知”状态时,关闭监控将会卸载kube-prometheus-stack插件。 通过私网接入的本地集群和附着集群,关闭监控时会检查私网接入点(开启监控时创建的VPCEP终端节点和DNS内网域名)是否有其他集群在使用,若没有则会删除此私网接入点。 华为云集群使用云硬盘(csi-disk-topology)存储类型的PVC作为插件数据的临时存储,集群关闭监控后,命名空间monitoring下的PVC不会自动删除,为避免继续产生费用,请前往CCE控制台手动删除(需要先卸载kube-prometheus-stack插件,再删除)。
  • 策略实例示例 以下策略实例展示了策略定义生效的资源类型,parameters展示了probes的类型和probeTypes。 apiVersion: constraints.gatekeeper.sh/v1beta1 kind: K8sRequiredProbes metadata: name: must-have-probes spec: match: kinds: - apiGroups: [""] kinds: ["Pod"] parameters: probes: ["readinessProbe", "livenessProbe"] probeTypes: ["tcpSocket", "httpGet", "exec"]
  • 符合策略实例的资源定义 Pod中有livenessProbe和readinessProbe,probeType为tcpSocket,符合策略实例。 apiVersion: v1 kind: Pod metadata: name: test-pod1 spec: containers: - name: tomcat image: tomcat ports: - containerPort: 8080 livenessProbe: tcpSocket: port: 80 initialDelaySeconds: 5 periodSeconds: 10 readinessProbe: tcpSocket: port: 8080 initialDelaySeconds: 5 periodSeconds: 10 volumes: - name: cache-volume emptyDir: {}
  • 不符合策略实例的资源定义 Pod中有livenessProbe,但是没有定义probeType,不符合策略实例。 apiVersion: v1 kind: Pod metadata: name: test-pod1 spec: containers: - name: nginx-1 image: nginx:1.7.9 ports: - containerPort: 80 livenessProbe: # tcpSocket: # port: 80 # initialDelaySeconds: 5 # periodSeconds: 10 volumeMounts: - mountPath: /tmp/cache name: cache-volume - name: tomcat image: tomcat ports: - containerPort: 8080 readinessProbe: tcpSocket: port: 8080 initialDelaySeconds: 5 periodSeconds: 10 volumes: - name: cache-volume emptyDir: {}
  • 不符合策略实例的资源定义 示例capabilities中的参数不符合策略实例。 apiVersion: v1 kind: Pod metadata: name: opa-disallowed labels: owner: me.agilebank.demo spec: containers: - name: opa image: openpolicyagent/opa:0.9.2 args: - "run" - "--server" - "--addr=localhost:8080" securityContext: capabilities: add: ["disallowedcapability"] resources: limits: cpu: "100m" memory: "30Mi"
  • 策略实例示例 以下策略实例展示了策略定义生效的资源类型,parameters中定义了allowedCapabilities和requiredDropCapabilities的列表。 apiVersion: constraints.gatekeeper.sh/v1beta1 kind: K8sPSPCapabilities metadata: name: capabilities-demo spec: match: kinds: - apiGroups: [""] kinds: ["Pod"] namespaces: - "default" parameters: allowedCapabilities: ["something"] requiredDropCapabilities: ["must_drop"]
  • 符合策略实例的资源定义 示例capabilities中的各项参数符合策略实例。 apiVersion: v1 kind: Pod metadata: name: opa-allowed labels: owner: me.agilebank.demo spec: containers: - name: opa image: openpolicyagent/opa:0.9.2 args: - "run" - "--server" - "--addr=localhost:8080" securityContext: capabilities: add: ["something"] drop: ["must_drop", "another_one"] resources: limits: cpu: "100m" memory: "30Mi"
  • 操作场景 服务Operator是OSC管理的最大粒度实体,服务运行载体是一个Operator,当服务对应的服务实例首次安装时,容器集群中如果没有对应的服务Operator,OSC会自动安装。 OSC将在首次部署服务的集群中创建三个新的命名空间osc-global、osc-oc、osc-system,并运行Operator或Helm插件。例如,Redis服务将在osc-global命名空间中部署一个redis-operator插件,这个插件就是Redis服务的管理插件。
  • ConfigMap资源文件配置说明 ConfigMap资源文件支持json和yaml两种文件格式,且文件大小不得超过2MB。 json文件格式 文件名称为configmap.json,配置示例如下: { "kind": "ConfigMap", "apiVersion": "v1", "metadata": { "name": "paas-broker-app-017", "namespace": "test" }, "data": { "context": "{\"applicationComponent\":{\"properties\":{\"custom_spec\":{}},\"node_name\":\"paas-broker-app\",\"stack_id\":\"0177eae1-89d3-cb8a-1f94-c0feb7e91d7b\"},\"softwareComponents\":[{\"properties\":{\"custom_spec\":{}},\"node_name\":\"paas-broker\",\"stack_id\":\"0177eae1-89d3-cb8a-1f94-c0feb7e91d7b\"}]}" } } yaml文件格式 文件名称为configmap.yaml,配置示例如下: apiVersion: v1 kind: ConfigMap metadata: name: test-configmap namespace: default data: data-1: "value-1" data-2: "value-2"
  • 相关操作 通过集群控制台,您还可以执行表2中的操作。 表2 相关操作 操作 说明 查看详情 单击配置项名称即可查看配置项数据详情。 编辑YAML 单击配置项名称后的“编辑YAML”,可查看并编辑当前配置项的YAML文件。 更新 单击配置项名称后的“更新”。 根据表1更改信息。 单击“确定”提交已修改的信息。 删除 单击配置项名称后的“删除”,并单击“是”进行确认。 批量删除 勾选需要删除的配置项。 单击左上角的“批量删除”。 单击“是”进行确认。
  • 创建配置项 登录集群控制台,单击左侧导航栏的“配置项与密钥”,选择“配置项”页签。您还可以直接创建配置项或基于YAML来创建,若希望通过YAML创建,请跳转至4。 选择需要创建配置项的命名空间。 直接创建配置项。单击“创建配置项”。 参照表1设置新增配置参数。 表1 新建配置参数说明 参数 参数说明 名称 新建的配置项名称,同一个命名空间里命名必须唯一。 命名空间 新建配置项所在的命名空间,默认为当前查看的命名空间。 描述 配置项的描述信息。 配置项数据 工作负载配置的数据可以在容器中使用,或被用来存储配置数据。 单击 ,输入键、值。其中,“键”代表配置名;“值”代表配置内容。 配置标签 标签以Key/value键值对的形式附加到各种对象上(如工作负载、节点、服务等)。 标签定义了这些对象的可识别属性,用来对它们进行管理和选择。 输入标签键、值。 单击“添加” 。 基于YAML创建配置项。在创建配置项页面右侧单击“YAML创建”。 若需要通过上传文件的方式创建资源,请确保资源描述文件已创建。支持json或yaml格式,详细请参见ConfigMap资源文件配置说明。 您可以导入或直接编写文件内容,格式为YAML或JSON。 方式一:导入编排文件。 单击“导入”,导入格式为YAML或JSON的文件。编排内容中可直接展示YAML或JSON文件的内容。 方式二:直接编排内容。 在编排内容区域框中,输入YAML或JSON文件内容。 配置完成后,单击“确定”。 配置项列表中会出现新创建的配置项。
  • 策略实例示例 以下策略实例展示了策略定义生效的资源类型,parameters中的allowedFlexVolumes字段定义了允许的driver类型列表。 apiVersion: constraints.gatekeeper.sh/v1beta1 kind: K8sPSPFlexVolumes metadata: name: psp-flexvolume-drivers spec: match: kinds: - apiGroups: [""] kinds: ["Pod"] parameters: allowedFlexVolumes: #[] - driver: "example/lvm" - driver: "example/cifs"
  • 符合策略实例的资源定义 示例中flexVolume中的类型均在上述定义的允许范围内,符合策略实例。 apiVersion: v1 kind: Pod metadata: name: nginx-flexvolume-driver-allowed labels: app: nginx-flexvolume-driver spec: containers: - name: nginx image: nginx volumeMounts: - mountPath: /test name: test-volume readOnly: true volumes: - name: test-volume flexVolume: driver: "example/lvm"
  • 不符合策略实例的资源定义 示例中flexVolume中的类型不在上述定义的允许范围内,不符合策略实例。 apiVersion: v1 kind: Pod metadata: name: nginx-flexvolume-driver-disallowed labels: app: nginx-flexvolume-driver spec: containers: - name: nginx image: nginx volumeMounts: - mountPath: /test name: test-volume readOnly: true volumes: - name: test-volume flexVolume: driver: "example/testdriver" #"example/lvm"
  • 查看/切换视图 登录U CS 控制台,在左侧导航栏中选择“容器智能分析”,选择一个容器舰队或者未加入舰队的集群。 选择“仪表盘”页签,默认展示集群视图。 设置查看视图的相关参数。各个视图可供设置的参数不同,请参见表1。 设置视图的时间窗。 在页面右上角处,选择时间段,或者自定义时间,并单击刷新界面。 容器智能分析仪表盘提供了预置视图,您可单击视图名称边上的“切换视图”按钮,选择需要的视图查看监控数据。系统预置视图如表1所示。 表1 预置视图 视图名称 视图参数 视图中包含的监控指标 集群视图(默认视图) 集群 节点数/磁盘不可用节点数/不可用节点数 CPU/内存使用率 CPU/内存Requests水位 CPU/内存Limits水位 Pod/容器数 CPU/内存使用量 网络接收/发送速率 网络平均接收/发送速率 接收/发送数据包速率 丢包率(接收/发送) 磁盘IOPS(读+写) ThroughPut(读+写) APIServer视图 集群 实例 存活数 QPS 请求成功率(读) 处理中请求数 请求速率(读/写) 请求错误率(读/写) 请求时延(读/写)(99分位时延) 工作队列增加速率/深度 工作队列时延(99分位时延) 内存/CPU使用量 Go routine数 Pod视图 集群 命名空间 pod 容器数/运行中容器数 Pod状态 容器重启次数 CPU/内存使用量 CPU Throttling 网络接收/发送速率 接收/发送数据包速率 丢包率(接收/发送) 磁盘IOPS(读+写) ThroughPut(读+写) 文件系统使用率/使用量 主机视图 集群 节点 CPU/内存使用率 平均负载 内存使用量 磁盘写入/读取速率 磁盘空间使用 磁盘IO Node视图 集群 节点 CPU/内存使用率 CPU/内存Requests水位 CPU/内存Limits水位 内存使用量 网络接收/发送速率 接收/发送数据包速率(Pod) 接收/发送数据包速率 丢包率(接收/发送) 磁盘IOPS(读+写) ThroughPut(读+写) CoreDNS视图 集群 实例 请求速率(记录类型/区域/DO标志位) 请求数据包(UDP/TCP) 响应速率(响应状态码) 响应时延 响应数据包(UDP/TCP) 缓存大小 缓存命中率 PVC视图 集群 命名空间 PV PVC PV/PVC状态 PVC使用量/使用率 PVC inodes使用量/使用率 PVC每小时/每天/每周使用率 一周后PVC使用量 Kubelet 集群 实例 运行中Kubelet/Pod/容器 实际卷/期望卷/配置错误数量 操作速率/错误率/时延 Pod启动速率/时延(99分位) 存储操作速率/错误率/时延(99分位) 控制组管理器操作速率/时延(99分位) PLEG relist速率/间隔/时延(99分位) RPC速率 请求时延(99分位) 内存/CPU使用量 Go routine数 Prometheus 集群 job instance Target同步间隔 Target数 平均拉取间隔 拉取失败 Appended Samples Head中Series数/Chunks数 查询速率/阶段时延 Prometheus Remote Write 集群 实例 url Highest Timestamp In vs. Highest Timestamp Sent Rate5m Rate in vs. succeeded or dropped 5m 当前/最大/最小/期望分片数 分片容量 挂起样本数 TSDB/远程写入当前段 样本丢弃率/失败率/重试率 入队失败重试率 工作负载 集群 命名空间 类型 工作负载 CPU/内存使用量 网络接收/发送速率 网络平均接收/发送速率 接收/发送数据包速率 丢包率(接收/发送) XGPU视图 集群 集群--XGPU设备显存使用率 集群--XGPU设备算力使用率 节点--XGPU设备显存使用率 节点--XGPU设备算力使用率 节点--XGPU设备数量 节点--XGPU设备显存分配量 GPU卡--XGPU设备显存使用率 GPU卡--XGPU设备显存分配量 GPU卡--XGPU设备显存分配率 GPU卡--XGPU设备算力使用率 GPU卡--XGPU设备数量 GPU卡--调度策略 GPU卡--不健康的XGPU设备数量 容器显存分配量 容器算力使用率 容器显存使用量 容器显存使用率
  • 概览 单击节点名称,可以进入节点概览页,在这里,您可以方便地查看资源概况,包括节点状态、Pod数量以及异常事件。此外,还可以浏览近一小时的监控概览,其中包括CPU使用率、内存使用率和网络流入/流出速率这些常见的监控指标。 图2 资源概况和监控概览 同时,概览页面还提供了Pod使用趋势功能,您可以从中了解节点中各Top5的Pod的CPU使用率、CPU使用量、内存使用率和内存使用量(在图表左上角切换对应指标),并且支持查看降序Top5和升序Top5数据(在图表右上角进行切换)。 图3 Pod使用趋势 如需了解更多指标,请前往监控页面查看。
  • 节点列表 节点列表中包含节点名称、状态、IP地址、容器组(已分配/总额度)、CPU申请比率/限制比率/使用率,以及内存申请比率/限制比率/使用率等信息。 图1 节点列表 您可以通过在列表上方按照节点名称、状态、私有地址和公网地址进行筛选,快速找到需要的节点。在列表的右上角,您可以单击按钮来导出全部节点数据,或者选择部分节点进行导出,此时仅导出所选中的数据。导出的文件为“.xlsx”格式,文件命名中包含时间戳。 当节点的CPU限制比率或内存限制比率超过100%时,意味着节点资源超分,节点上的负载限制值(可使用的最大值)之和已经超过了节点规格。如果负载占用资源过高,可能会导致节点异常。
  • Pod列表 Pod列表中包含了实例名称、状态、命名空间、实例IP、所在节点、重启次数、CPU申请/限制、内存申请/限制,以及CPU和内存使用率等详细信息。 图4 Pod列表 您可以通过在列表上方按照实例名称、状态、命名空间、实例IP和所在节点进行筛选,快速找到需要的实例。在列表的右上角,您可以单击按钮来导出全部实例数据,或者选择部分实例进行导出,此时仅导出所选中的数据。导出的文件为“.xlsx”格式,文件命名中包含时间戳。 单击实例名称可以查看实例的详细监控数据。更多相关内容,请参见Pod。
  • 监控 在此处,您可以方便地查看节点在近1小时、近8小时、近24小时以及自定义时间段内各维度资源的使用情况。如需查看更多监控信息,请单击“查看全部仪表盘”,跳转至“仪表盘”页面,相应指导请参见仪表盘。 CPU 单位时间内节点CPU使用情况。 图5 CPU 内存 单位时间内节点内存使用情况。 图6 内存 网络 节点上的容器网络流量,用于监控节点上的容器网络负载情况。 图7 网络 节点平均负载 节点的平均负载是指在一定时间内,节点上正在运行的进程数量的平均值,用来评估节点上正在运行的进程数量是否过多,是否超出了节点的处理能力。通常情况下,节点平均负载应该保持在一个合理的范围内,以确保节点的稳定性和可靠性。包括1min、5min和15min的数据。 图8 节点平均负载 节点CPU单核使用率 单位时间内节点单核CPU使用情况。 图9 节点CPU单核使用率 磁盘读I/O 节点磁盘近五分钟的数据读取次数。 图10 磁盘读I/O 磁盘写I/O 节点磁盘近五分钟的数据写入次数。 图11 磁盘写I/O Pod CPU使用率 单位时间内Pod CPU使用情况。 图12 Pod CPU使用率 Pod内存使用率 单位时间内Pod内存使用情况。 图13 Pod内存使用率 Pod状态趋势 实时监控节点Pod状态。 图14 Pod状态趋势 Pod数量变化趋势 节点已分配的容器组数量。 图15 Pod数量变化趋势
  • 策略实例示例 以下策略实例展示了策略定义生效的资源类型。 apiVersion: constraints.gatekeeper.sh/v1beta1 kind: K8sPSPPrivilegedContainer metadata: name: psp-privileged-container spec: match: kinds: - apiGroups: [""] kinds: ["Pod"] excludedNamespaces: ["kube-system"]
  • 符合策略实例的资源定义 示例中privileged设置为false,符合策略实例。 apiVersion: v1 kind: Pod metadata: name: nginx-privileged-allowed labels: app: nginx-privileged spec: containers: - name: nginx image: nginx securityContext: privileged: false
  • 不符合策略实例的资源定义 示例中privileged设置为true,不符合策略实例。 apiVersion: v1 kind: Pod metadata: name: nginx-privileged-disallowed labels: app: nginx-privileged spec: containers: - name: nginx image: nginx securityContext: privileged: true
  • 关联权限 登录UCS控制台,在左侧导航栏中选择“容器舰队”。 选择“未加入舰队的集群”页签,在目标集群栏中单击右上角的按钮。 图3 集群列表 在弹出的页面单击“关联权限”,打开“修改权限”页面,将已创建好的权限和集群的命名空间关联起来。 命名空间:支持“全部命名空间”和“指定命名空间”。全部命名空间包括当前集群已有的命名空间和集群后续新增的命名空间;“指定命名空间”即表示您自己选择命名空间的范围,UCS服务提供了几个常见的命名空间供您选择(如default、kube-system、kube-public),您也可以新增命名空间,但要自行确保新增的命名空间在集群中存在。 请注意,选择的命名空间仅对权限中命名空间级资源生效,不影响权限中的集群资源。关于命名空间级和集群级资源的介绍,请参见Kubernetes资源对象章节。 关联权限:从下拉列表中选择权限,支持一次性选择多个权限,以达到批量授权的目的。 如果针对不同命名空间,关联的权限不同(例如:为default命名空间关联readonly权限,为development命名空间关联develop权限),可以单击按钮添加多组授权关系。 单击“确定”,完成权限的关联。 如果后续需要修改集群的权限,采用同样的方法,重新选择命名空间和权限即可。
  • 注销集群 登录UCS控制台,在左侧导航栏中单击“容器舰队”。 选择“未加入舰队的集群”页签,在目标集群栏中单击右上角的按钮。 弹出“注销集群”对话框,仔细阅读注意事项,确认风险后单击“确定”。 图4 注销集群 (可选)对于附着集群来说,注销集群成功后,还需前往目标集群卸载代理组件。 kubectl -n kube-system delete deployments/proxy-agent secret/proxy-agent-cert (可选)对于本地集群来说,注销集群成功后,您可以手动执行卸载命令,在本地主机环境中删除集群,清理资源: ./ucs-ctl delete cluster [集群名称] 如果命令执行失败,请参考如何手动清理本地集群节点?处理。
  • 不符合策略实例的资源定义 没有配置内存的Limit,CPU和内存的Request,不符合策略实例。 apiVersion: v1 kind: Pod metadata: name: opa-disallowed labels: owner: me.agilebank.demo spec: containers: - name: opa image: openpolicyagent/opa:0.9.2 args: - "run" - "--server" - "--addr=localhost:8080" resources: limits: memory: "2Gi"k8sexternalips
  • 符合策略实例的资源定义 已经配置内存的Limit,CPU和内存的Request,符合策略实例。 apiVersion: v1 kind: Pod metadata: name: opa-allowed labels: owner: me.agilebank.demo spec: containers: - name: opa image: openpolicyagent/opa:0.9.2 args: - "run" - "--server" - "--addr=localhost:8080" resources: limits: cpu: "100m" memory: "1Gi" requests: cpu: "100m" memory: "1Gi"
  • 策略实例示例 必须配置内存的Limit,CPU和内存的Request。 apiVersion: constraints.gatekeeper.sh/v1beta1 kind: K8sRequiredResources metadata: name: container-must-have-cpu-requests-memory-limits-and-requests spec: match: kinds: - apiGroups: [""] kinds: ["Pod"] parameters: limits: - memory requests: - cpu - memory
  • 安装插件 登录UCS控制台,单击集群名称进入集群,在左侧导航栏中选择“插件管理”,找到gpu-device-plugin,单击“安装”。 在安装插件页面,填写插件配置。 插件规格:可配置“默认”或“自定义”规格,请根据实际情况选择。 容器:选择“自定义”规格时支持设置。 Nvidia驱动:您可使用CCE提供的驱动地址或手动填写自定义Nvidia驱动的地址,集群下全部GPU节点将使用相同的驱动。 GPU虚拟化功能仅支持470.57.02、470.103.01、470.141.03、510.39.01、510.47.03版本的GPU驱动。 建议您使用CCE提供的驱动地址,以满足驱动版本的要求。 如果下载链接为公网地址,如nvidia官网地址(https://us.download.nvidia.com/tesla/470.103.01/NVIDIA-Linux-x86_64-470.103.01.run),各GPU节点均需要绑定EIP。获取驱动链接方法请参考获取驱动链接-公网地址。 若下载链接为OBS上的链接,无需绑定EIP 。获取驱动链接方法请参考获取驱动链接-OBS地址。 请确保Nvidia驱动版本与GPU节点适配。 更改驱动版本后,需要重启节点才能生效。 对于linux 5.x内核系统,如Huawei Cloud EulerOS 2.0或ubuntu 22.04,建议使用470及以上版本驱动。 驱动选择:若您不希望集群中的所有GPU节点使用相同的驱动,CCE支持以节点池为单位安装不同的GPU驱动。 插件将根据节点池指定的驱动版本进行安装,仅对节点池新建节点生效。 新建节点更新驱动版本后,需重启节点生效。非新建节点不支持更新驱动版本。 插件卸载会自动删除已安装的GPU驱动。 GPU虚拟化:选择开启GPU虚拟化,支持GPU单卡的算力、显存分割与隔离。 若集群中未安装volcano插件,将不支持开启GPU虚拟化,您可单击“一键安装”进行安装。如需配置volcano插件参数,请单击“自定义安装”,详情请参见volcano。 若集群中已安装volcano插件,但插件版本不支持使用GPU虚拟化,您可单击“一键升级”进行升级。如需配置volcano插件参数,请单击“自定义升级”,详情请参见volcano。 单击“安装”,安装gpu-device-plugin插件的任务即可提交成功。
  • 安装nvidia-fabricmanager服务 A100/A800 GPU支持 NvLink & NvSwitch,若您使用多GPU卡的机型,需额外安装与驱动版本对应的nvidia-fabricmanager服务使GPU卡间能够互联,否则可能无法正常使用GPU实例。 本文以驱动版本470.103.01为例,您可参考以下步骤进行安装,请根据实际情况需要替换驱动版本。 登录需要安装nvidia-fabricmanager服务的GPU节点,该节点需绑定EIP用以下载nvidia-fabricmanager服务。 安装与驱动版本对应的nvidia-fabricmanager服务,您可通过官方下载操作系统和驱动版本对应的安装包。 CentOS操作系统 以CentOS 7为例: driver_version=470.103.01 wget https://developer.download.nvidia.cn/compute/cuda/repos/rhel7/x86_64/cuda-drivers-fabricmanager-${driver_version}-1.x86_64.rpm rpm -ivh nvidia-fabric-manager-${driver_version}-1.x86_64.rpm Ubuntu等其他操作系统 以Ubuntu 18.04为例: driver_version=470.103.01 driver_version_main=$(echo $driver_version | awk -F '.' '{print $1}') wget https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu1804/x86_64/nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb dpkg -i nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb 启动nvidia-fabricmanager服务。 systemctl enable nvidia-fabricmanager systemctl start nvidia-fabricmanager 查看nvidia-fabricmanager服务状态。 systemctl status nvidia-fabricmanager
共100000条